Форма вызова vb6 с именем, содержащимся в массиве - PullRequest
2 голосов
/ 01 января 2012

У меня есть массив с именем Menus. Содержит имя формы для каждого элемента.

Как я могу назвать их динамически?

Например, если Menus (1) = "Login" и Menus (2) = "Logout" Мне нужно сказать

Login.Show

но я хочу сделать это, используя имя массива. Я явно не могу этого сделать:

Menus(X).Show

Возможно ли это в VB или есть способ обойти это?

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 01 января 2012

По сути, вы пытаетесь использовать имя формы для создания экземпляра и загрузки формы.

Один из способов сделать это - передать строку с именем вашей формы в функцию Collection Add:

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 голосов
/ 01 января 2012

Вы можете использовать следующий код:

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