簡體   English   中英

如何將.Net控件動態添加到vb6應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM