Compartilhar via


Objeto My.Forms

Fornece propriedades para acessar uma instância de cada Windows formulário declarado no projeto corrente.

Comentários

The My.Forms objeto fornece uma instância de cada formulário no projeto corrente. O nome da propriedade é o mesmo sistema autônomo o nome do formulário que acessa a propriedade.Para obter informações sobre como adicionar formulários a um projeto, consulte Como: Adicionar Windows Forms a um projeto.

Você pode acesso formulários fornecidos pelo My.Forms objeto usando o nome do formulário, sem qualificação. sistema autônomo o nome da propriedade é o mesmo nome de tipo de formulário, isso permite que você acesso um formulário sistema autônomo se ele tivesse uma instância padrão.Por exemplo, My.Forms.Form1.Show é equivalente a Form1.Show.

The My.Forms objeto expõe apenas os formulários associados ao projeto corrente. Ele não fornece acesso aos formulários declarado em DLLs referenciadas.Para acesso um formulário que fornece uma DLL, você deve usar o nome qualificado do formulário, sistema autônomo DllName.FormName.Para obter mais informações, consulte Como: Acessar um formulário.

Você pode usar o Propriedade My.aplicativo.OpenForms Para obter uma coleção de todos os formulários do aplicativo em aberto.

O objeto e suas propriedades estão disponível somente para aplicativos do Windows.

Propriedades

Cada propriedade do My.Forms objeto fornece acesso a uma instância de um formulário no projeto corrente. O nome da propriedade é igual ao nome do formulário que acessa a propriedade e o tipo de propriedade é o mesmo tipo de formulário.

Observação:

Se houver um conflito de nome, a propriedade nome para acesso um formulário é RootNamespace_Namespace_FormName.Por exemplo, considere dois formulários chamados Form1.Se um desses formulários está no namespace raiz WindowsApplication1 e no espaço para nome Namespace1, você acessaria esse formulário através de My.Forms.WindowsApplication1_Namespace1_Form1.

The My.Forms objeto fornece acesso à instância do formulário principal do aplicativo que foi criada na inicialização. Para todos os outros formulários, a My.Forms objeto cria uma nova instância do formulário quando ele é acessado e armazena. Subseqüentes tentativas de acesso a essa propriedade retornará essa instância do formulário.

Você pode descartar um formulário atribuindo Nothing para a propriedade desse formulário. Propriedade setter chama o Close método do formulário e, em seguida, atribui Nothing o valor armazenado. Se você atribuir qualquer valor diferente de Nothing para a propriedade setter lança um ArgumentException exceção.

Você pode teste se uma propriedade do My.Forms objeto armazena uma instância do formulário usando o Is ou IsNot operador. Você pode usar esses operadores para verificar se o valor da propriedade é Nothing.

Observação:

Normalmente, o Is ou IsNot operador tem que ler o valor da propriedade para executar a comparação. No entanto, se a propriedade armazena atualmente 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 My.Forms objeto diferente e permite que o Is ou IsNot operador para verificar o status da propriedade sem alterar seu valor.

Tarefas

A tabela seguinte lista exemplos de tarefas envolvendo o objeto My.Forms.

Para

Consulte

acesso um formulário de outro formulário.

Como: Acessar um formulário

Controle um formulário de outro formulário.

Como: Se comunicar entre formulários em um aplicativo

Exemplo

Este exemplo altera o título do padrão SidebarMenu formulário.

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

Para esse exemplo funcione, seu projeto deve ter um formulário denominado SidebarMenu. Para obter mais informações, consulte Como: Adicionar Windows Forms a um projeto.

Esse código funcionará somente em um projeto Windows aplicativo.

Requisitos

Disponibilidade por Tipo de Projeto

Tipo de Projeto

Disponível

Aplicativo do Windows

Sim

Biblioteca de Classe

Não

Aplicativo de Console

Não

Biblioteca de Controle do Windows

Não

Biblioteca de Controle da Web

Não

Serviço do Windows

Não

Site

Não

Consulte também

Tarefas

Como: Adicionar Windows Forms a um projeto

Como: Acessar um formulário

Conceitos

Acessando Formulários do Aplicativo

Referência

Propriedade My.aplicativo.OpenForms

Propriedade My.aplicativo.OpenForms

Operador Is (Visual Basic)

Operador IsNot

Form

Close