Partilhar via


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_Form1do .

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

Consulte também