vb6 форма вызова с именем, содержащимся в массиве

vb6 dynamic-forms

2283 просмотра

2 ответа

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

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

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

Login.Show

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

Menus(X).Show

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

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

Автор: itsols Источник Размещён: 12.11.2019 09:16

Ответы (2)


5 плюса

Решение

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

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

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

Или, используя функцию CallByName VB6 :

Dim f As Form
Set f = CallByName(Forms, "Add", VbMethod, Menus(X))
f.Show
Автор: Jay Riggs Размещён: 01.01.2012 07:08

0 плюса

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

Form form = Menus[x] as Form 
Form.show
Автор: iXcoder Размещён: 01.01.2012 07:04
Вопросы из категории :
32x32