Partilhar via


Objeto My.Forms (Visual Basic)

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

Comentários

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

Você pode acessar os formulários fornecidos pelo My.Formsoobjeto usando o nome do formulário, sem qualificação. Como o nome da propriedade é o mesmo nome de tipo do formulário, isso permite que você acesse um formulário como se ela fosse 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 projetoatual. Ele não fornece acesso aos formulários declarado em DLLs referenciadas. Para acessar um formulário que fornece a uma DLL, você deve usar o nome qualificado do formulário, escrito como DllName.Nomedoformulário.

Você pode usar o OpenFormsdepropriedade para obter uma coleção de todos os aplicativodo em aberto formulários.

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

Properties

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

ObservaçãoObservação

Se houver um conflito de nome, o nome de propriedade para acessar um formulário é RootNamespace_Namespace_nomedoformulário. Por exemplo, considere os dois formulários denominados Form1.se um desses formulários está na raizdonamespace WindowsApplication1 e no namespace Namespace1, você pode acessar o formulário por meio de My.Forms.WindowsApplication1_Namespace1_Form1.

O deMy.Formsobjeto fornece acesso à instância do aplicativoprincipal formulário criado na inicialização. Para todos os outros formulários, o My.Forms objeto cria uma nova instância do formulário quando ele é acessado e o armazena. Tentativas subseqüentes para acessar essa propriedade retornará a essa instância do formulário.

Você pode dispor de um formulário atribuindo Nothing para a propriedade desse formulário. As chamadas de setter de propriedade de Closeométodo do formulárioe em seguida, atribui Nothing para o valor armazenado. Se você atribuir qualquer valor diferente de Nothing para a propriedade, o setter lança um ArgumentException exceção.

Você pode teste se uma propriedade da 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çãoObservação

Normalmente, o Is ou IsNot operador 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 Visual Basic trata as propriedades da My.Formsobjeto diferente e permite que o Is ou IsNotdeoperador para verificar o status da propriedade sem alterar seu valor.

Tasks

The following table lists examples of tasks involving the My.Forms object.

To

See

Controle a um formulário de outro formulário.

Como: Comunicar entre formulários em um aplicativo (Visual Basic)

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. For more information, see Como: Adicionar um projeto Windows Forms.

Esse código funciona apenas em um projetode aplicativo do Windows.

Requirements

Availability by Project Type

Project type

Available

Windows Application

Yes

Class Library

No

Console Application

No

Windows Control Library

No

Web Control Library

No

Windows Service

No

Web Site

No

Consulte também

Tarefas

Como: Adicionar um projeto Windows Forms

Referência

OpenForms

Operador Is (Visual Basic)

Operador IsNot (Visual Basic)

Form

Close

Conceitos

Objetos (Visual Basic)

Acessando formulários do aplicativo (Visual Basic)