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çã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çã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