vb6调用表单,其名称包含在数组中

its*_*ols 2 vb6 dynamic-forms

我有一个名为Menus的数组.它包含每个元素的表单名称.

我怎样才能动态调用它们?

例如,如果菜单(1)="登录",菜单(2)="退出",我需要说

Login.Show
Run Code Online (Sandbox Code Playgroud)

但我想使用数组名称来做到这一点.我显然不能这样做:

Menus(X).Show
Run Code Online (Sandbox Code Playgroud)

在VB中这是可能的还是有办法解决这个问题?

提前致谢!

Jay*_*ggs 5

您实际上要做的是使用表单的名称来实例化和加载表单.

一种方法是将带有表单名称的字符串传递给Form CollectionAdd函数:

Dim f As Form
Set f = Forms.Add(Menus(X))
f.Show
Run Code Online (Sandbox Code Playgroud)

或者,使用VB6的CallByName函数:

Dim f As Form
Set f = CallByName(Forms, "Add", VbMethod, Menus(X))
f.Show
Run Code Online (Sandbox Code Playgroud)