Поделиться через


Объект My.Forms (Visual Basic)

Предоставляет свойства для доступа к экземпляру каждой формы Windows Forms, объявленной в текущем проекте.

Заметки

Объект My.Forms предоставляет экземпляр каждой формы в текущем проекте. Имя свойства совпадает с именем формы, к которой обращается свойство. Сведения о добавлении форм в проект содержатся в разделе Практическое руководство. Добавление форм Windows Forms в проект.

Доступ к форме, предоставляемой объектом My.Forms, можно получить с помощью имени формы без квалификации. Поскольку имя свойства совпадает с именем типа формы, это позволяет получить доступ к форме таким же образом, как если бы она имела экземпляр по умолчанию. Например, запись My.Forms.Form1.Show эквивалентна записи Form1.Show.

Объект My.Forms предоставляет только формы, связанные с текущим проектом. Он не обеспечивает доступа к формам, объявленным в присоединенных библиотеках DLL. Для доступа к форме, предоставленной библиотекой DLL, необходимо использовать полное имя формы, которое формируется следующим образом: ИмяDLL.ИмяФормы.

Свойство OpenForms можно использовать для получения коллекции открытых форм приложения.

Объект и его свойства доступны только для приложений Windows.

Свойства

Каждое свойство объекта My.Forms предоставляет доступ к экземпляру формы в текущем проекте. Имя свойства совпадает с именем формы, к которой осуществляется доступ, а тип свойства совпадает с типом формы.

Примечание

Если имеется конфликт имен, имя свойства для доступа к форме формируется следующим образом: КорневоеПространствоИмен_ПространствоИмен _ ИмяФормы.Например, рассмотрим две формы с именем Form1. Если одна из этих форм находится в корневом пространстве имен WindowsApplication1 и в пространстве имен Namespace1, доступ к этой форме будет осуществляться с помощью My.Forms.WindowsApplication1_Namespace1_Form1.

Объект My.Forms предоставляет доступ к экземпляру приложения главной формы, созданной при запуске. Для всех других форм объект My.Forms создает новый экземпляр формы при доступе к нему или при его сохранении. Последующие попытки доступа к этому свойству возвращают этот экземпляр формы.

Можно уничтожить форму путем назначения свойству этой формы значения Nothing. Установщик свойства вызывает метод формы Close, а затем назначает Nothing для хранимого значения. Если назначить свойству любое значение, отличное от Nothing, установщик сгенерирует исключение ArgumentException.

Чтобы проверить, хранит ли свойство объекта My.Forms экземпляр формы, воспользуйтесь оператором Is или IsNot. Эти операторы можно использовать для проверки того, имеет ли свойство значение Nothing.

Примечание

Обычно оператор Is или IsNot должен прочитать значение свойства для выполнения сравнения.Однако если свойство в настоящее время имеет значение Nothing, свойство создает новый экземпляр формы, а затем возвращает этот экземпляр.Компилятор Visual Basic по-разному обрабатывает свойства объекта My.Forms и позволяет операторам Is или IsNot проверить состояние свойства без изменения его значения.

Задачи

В приведенной ниже таблице показаны примеры задач, включающих объект My.Forms.

Цель

См.

Управление одной формой из другой формы.

Практическое руководство. Взаимодействие форм в приложении (Visual Basic)

Пример

В данном примере изменяется название исходной формы SidebarMenu.

Sub ShowSidebarMenu(ByVal newTitle As String)
    If My.Forms.SidebarMenu IsNot Nothing Then
        My.Forms.SidebarMenu.Text = newTitle
    End If
End Sub

Чтобы этот пример работал, проект должен иметь форму с именем SidebarMenu. Дополнительные сведения см. в разделе Практическое руководство. Добавление форм Windows Forms в проект.

Этот код будет работать только в проекте приложения Windows.

Требования

Доступность по типу проекта

Тип проекта

Доступность

Приложение Windows

Да

Библиотека классов

Нет

Консольное приложение

Нет

Библиотека элементов управления Windows

Нет

Библиотека веб-элементов управления

Нет

Служба Windows

Нет

Веб-узел

Нет

См. также

Задачи

Практическое руководство. Добавление форм Windows Forms в проект

Ссылки

OpenForms

Оператор Is (Visual Basic)

Оператор IsNot (Visual Basic)

Form

Close

Основные понятия

Объекты (Visual Basic)

Доступ к формам приложения (Visual Basic)