Objeto My.Forms
Fornece propriedades para acessar uma instância de cada formulário do Windows declarado no projeto atual.
Observações
O My.Forms
objeto fornece uma instância de cada formulário no projeto atual. O nome da propriedade é o mesmo que o nome do formulário que a propriedade acessa.
Você pode acessar os formulários fornecidos pelo My.Forms
objeto usando o nome do formulário, sem qualificação. Como o nome da propriedade é o mesmo que o nome do tipo do formulário, isso permite que você acesse um formulário como se ele tivesse uma instância padrão. Por exemplo, My.Forms.Form1.Show
é equivalente a Form1.Show
.
O My.Forms
objeto expõe apenas os formulários associados ao projeto atual. Ele não fornece acesso a formulários declarados em DLLs referenciadas. Para acessar um formulário que uma DLL fornece, você deve usar o nome qualificado do formulário, escrito como DllName.FormName.
Você pode usar a OpenForms propriedade para obter uma coleção de todos os formulários abertos do aplicativo.
O objeto e suas propriedades estão disponíveis apenas para aplicativos do Windows.
Propriedades
Cada propriedade do My.Forms
objeto fornece acesso a uma instância de um formulário no projeto atual. O nome da propriedade é o mesmo que o nome do formulário que a propriedade acessa, e o tipo de propriedade é o mesmo que o tipo do formulário.
Nota
Se houver uma colisão de nomes, o nome da propriedade para acessar um formulário é RootNamespace_Namespace_FormName. Por exemplo, considere dois formulários denominados Form1.
Se um desses formulários estiver no namespace WindowsApplication1
raiz e no namespace Namespace1
, você acessaria esse formulário por meio My.Forms.WindowsApplication1_Namespace1_Form1
do .
O My.Forms
objeto fornece acesso à instância do formulário principal do aplicativo que foi criado na inicialização. Para todos os outros formulários, o My.Forms
objeto cria uma nova instância do formulário quando é acessado e o armazena. Tentativas subsequentes de acessar essa propriedade retornam essa instância do formulário.
Você pode descartar um formulário atribuindo Nothing
à propriedade para esse formulário. O setter de propriedades chama o Close método do formulário e, em seguida, atribui Nothing
ao valor armazenado. Se você atribuir qualquer valor diferente da Nothing
propriedade, o setter lançará uma ArgumentException exceção.
Você pode testar se uma propriedade do objeto armazena My.Forms
uma instância do formulário usando o Is
operador or IsNot
. Você pode usar esses operadores para verificar se o valor da propriedade é Nothing
.
Nota
Normalmente, o Is
operador ou IsNot
tem que ler o valor da propriedade para executar a comparação. No entanto, se a propriedade atualmente armazena Nothing
, a propriedade cria uma nova instância do formulário e, em seguida, retorna essa instância. No entanto, o compilador do Visual Basic trata as propriedades do objeto de My.Forms
forma diferente e permite que o Is
operador ou IsNot
verifique o status da propriedade sem alterar seu valor.
Exemplo
Este exemplo altera o título do formulário padrão SidebarMenu
.
Sub ShowSidebarMenu(ByVal newTitle As String)
If My.Forms.SidebarMenu IsNot Nothing Then
My.Forms.SidebarMenu.Text = newTitle
End If
End Sub
Para que este exemplo funcione, seu projeto deve ter um formulário chamado SidebarMenu
.
Esse código funcionará somente em um projeto de aplicativo do Windows.
Requisitos
Disponibilidade por tipo de projeto
Tipo de projeto | Disponível |
---|---|
Aplicação do Windows | Sim |
Class Library | Não |
Aplicação de Consola | Não |
Biblioteca de Controlo do Windows | Não |
Biblioteca de controle da Web | Não |
Serviço Windows | Não |
Web site | Não |