2

Menus という名前の配列があります。要素ごとにフォーム名が含まれています。

それらを動的に呼び出すにはどうすればよいですか?

たとえば、Menus(1) = "Login"、およびMenus(2) = "Logout"の場合、私は言う必要があります

Login.Show

しかし、配列名を使用してこれを行いたいです。私は明らかにこれを行うことはできません:

Menus(X).Show

これはVBで可能ですか、それともこれを回避する方法はありますか?

前もって感謝します!

4

2 に答える 2

5

基本的に実行しようとしているのは、フォームの名前を使用してフォームをインスタンス化してロードすることです。

これを行う1つの方法は、フォームの名前を含む文字列をフォーム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
于 2012-01-01T07:08:02.133 に答える
0

次のコードを使用できます。

Form form = Menus[x] as Form 
Form.show
于 2012-01-01T07:04:22.257 に答える