2012-01-01 50 views
2

我有一個名爲Menus的數組。它包含每個元素的表單名稱。vb6名稱中包含的數組調用窗體

我該如何動態調用它們?

例如,如果菜單(1)= 「登錄」,並菜單(2)= 「註銷」我需要說

Login.Show 

,但我想這樣做使用Array名稱。我顯然不能這樣做:

Menus(X).Show 

這是可能的在VB或有沒有辦法解決這個問題?

在此先感謝!

回答

5

什麼你基本上試圖做的是使用的一種形式的名稱來實例化和加載表單。要做到這一點

一種方法是與窗體名稱的字符串傳遞給窗體CollectionAdd功能:

Dim f As Form 
Set f = Forms.Add(Menus(X)) 
f.Show 

或者,使用VB6的CallByName功能:

Dim f As Form 
Set f = CallByName(Forms, "Add", VbMethod, Menus(X)) 
f.Show 
+0

酷!那就是訣竅。我使用第一種方法。 +1爲您的替代品:) – itsols 2012-01-01 07:17:49

0

您可以使用下面的代碼:

Form form = Menus[x] as Form 
Form.show 
+1

當然,該代碼甚至沒有編譯,所以它不是一個特別好的「示例」... – 2012-01-01 07:09:32

+0

第一行是什麼?我不認爲這是VB語法。 – itsols 2012-01-01 09:21:35

相關問題