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


Объект My.Forms

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

Замечания

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

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

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

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

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

Свойства

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

Примечание.

Если имеется конфликт имен, имя свойства для доступа к форме — RootNamespace_Namespace_FormName. Например, рассмотрим две формы с именем Form1., если одна из этих форм находится в корневом пространстве имен и в пространстве Namespace1WindowsApplication1 имен, вы сможете получить доступ к этой форме.My.Forms.WindowsApplication1_Namespace1_Form1

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

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

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

Примечание.

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

Пример

В этом примере изменяется заголовок формы по умолчанию 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.

Требования

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

Тип проекта На месте
Приложение Windows Да
Библиотека классов No
Консольное приложение No
Библиотека элементов управления Windows No
Библиотека веб-элементов управления No
Службы Windows No
Веб-сайт No

См. также