[英]How do I add .Net controls to a vb6 application dynamically
我致力於使用VBScript進行擴展的應用程序。 我可以訪問VB6表單,並且可以在表單上添加控件和引用其他控件。 我還能夠通過互操作啟動.Net表單。
我想要做的是創建對.Net組件的引用,並將其交給VB6 Frame或SSTab的引用,然后讓該組件創建一個互操作用戶控件並將其放置在Frame / SSTab中。 如果僅使用VBScript來執行此操作,則將執行以下操作:
set frame = Form.Controls("Frame1")
set cmd1 = Form.Controls.Add("vb.commandbutton", "Cmd1")
cmd1.Container = frame
cmd1.Visible = true
我希望能夠在InteropUserControl中執行類似的操作。 互操作用戶控件上有一個稱為“容器”的屬性,但它是只讀的,因此我不確定如何將控件放入父容器。
任何意見,將不勝感激。
真誠的
Shane Holder
好吧,如果您想知道如何動態添加控件,這很簡單:
Form.Controls.Add(new MyControl())
如果您想將控件放入父容器中,那就是這樣做的方法。 看來您無法即時更改父控件,因此必須決定使用if / else邏輯將誰添加子控件到誰。 示例偽代碼:
InterOpControl myControl = new InterOpControl();
if (someVariable) {
Form1.Controls.Add(myControl);
}
else {
Form2.Controls.Add(myControl);
}
如果您不能執行此操作,則可以執行以下操作:
if (someVariable) {
Form1.Controls.Add(new InterOpControl());
}
else {
Form2.Controls.Add(new InterOpControl());
}
現在您沒有對此的引用,但是您可以稍后再獲取。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.