ИНФО: Вызов формы по имени - Forms.Add

Ответы на вопросы, чаще всего задаваемые в форумах VBStreets. Для тех, кому лень искать.
Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

ИНФО: Вызов формы по имени - Forms.Add

Сообщение Vi » 27.05.2003 (Вт) 12:17

Недавно обнаружил решение, связанное с использованием имени формы для ее активизации.

Например, есть строка, содержащая имя некоей формы проекта. Как ее загрузить и запустить?

Решение: Forms.Add
Код: Выделить всё
' Эквивалент операторов Load Form1 и Form1.Show

  Dim x As Form, strName As String
  strName = "Form1" ' или другим способом получаемое имя формы
  Set x = Forms.Add(strName)
  x.Show

Или более коротко
Код: Выделить всё

Forms.Add(strName).Show
Последний раз редактировалось Vi 27.05.2003 (Вт) 14:55, всего редактировалось 2 раз(а).
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.05.2003 (Вт) 13:22

Вообще-то метод Add возвращает объект, поэтому с ним сразу можно работать :)
Я, например, довольно часто использую конструкции вида ListView1.ListItems.Add(Key:="key001").Text="Key 001 text"
Или ты имеешь ввиду, как можно быстро обратиться к форме по ее имени в строковой переменной? Что-то вроде Forms("Form1").Show?
Lasciate ogni speranza, voi ch'entrate.

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 27.05.2003 (Вт) 14:43

Где-то ранее я встречал вопросы - Как запустить такую форму, известно о ней только имя-строка. Я не смог найти это и на этом форуме. Но поскольку информация полезная - я о таком не знал - то я запостил отдельной темой.

Forms("Form1") - это было известно и ранее. Это выбор формы (запущенной) по имени.

А вот чтобы отработать Load "Form1", для этого и нужен вышеуказанный код.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.05.2003 (Вт) 17:02

Теперь понял :)
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Популярные вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList