Como criar uma coleção de formulários no Visual Basic .NET ou no Visual Basic 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 308537
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 815707.

NESTA TAREFA

Sumário
Visual Basic .NET ou Visual Basic 2005 não oferece uma coleção interna para objetos de formulário que são usados em um projeto. Este artigo demonstra como criar uma classe de coleção personalizada que suporta essencialmente a mesma funcionalidade que as versões anteriores do Visual Basic.

back to the top

Criar a coleção de formulários personalizado

A primeira etapa para criar uma classe de coleção personalizada no Visual Basic .NET ou Visual Basic 2005 é adicionar um módulo de classe para o projeto. Essa classe deve herdar da classe CollectionBase e, em seguida, o método Add para impedir que objetos diferentes de objetos de formulário que está sendo adicionado à coleção de sombra. O código a seguir ilustra como adicionar essa classe:
Public Class FormsCollection    Inherits CollectionBase    Public Shadows Function Add(ByVal FormObject As Form) As Form        MyBase.List.Add(FormObject)        Return FormObject    End Function    Public Shadows Sub Remove(ByVal FormObject as Form)         MyBase.List.Remove(FormObject)    End SubEnd Class				
back to the top

Instanciar o objeto da coleção Forms

Quando você executar o projeto, você deve criar a classe de coleção personalizada para adicionar objetos de forma a ele. A maneira mais fácil de garantir que a coleção é criado antes de todos os formulários são exibidos é definir o objeto de inicialização para o projeto a Sub Main na caixa de diálogo Propriedades do projeto . Em seguida, adicione um módulo para o projeto e adicione o código para criar a classe de coleção personalizada e exibir o primeiro formulário. O código a seguir ilustra isso:
Module StartHere    Public Forms As FormsCollection        Sub Main()        Forms = New FormsCollection()        Application.Run(New Form1())    End SubEnd Module				
back to the top

Adicionar e remover os formulários da coleção

Por fim, você deve modificar o construtor para um formulário para se adicionar à coleção e você deve modificar o destruidor para um formulário remover próprio da coleção. O código a seguir ilustra como fazer isso:
Public Sub New()    MyBase.New()    'This call is required by the Windows Form Designer.    InitializeComponent()    'Add any initialization after the InitializeComponent() call.    Forms.Add(Me)End SubProtected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)    If disposing Then        If Not (components Is Nothing) Then            components.Dispose()        End If    End If    MyBase.Dispose(disposing)    Forms.Remove(Me)End Sub				
adicionar a linha "Forms.Add(Me)" para o construtor de qualquer formulário que você deseja colocar na coleção. Adicione a linha "Forms.Remove(Me)" para o destruidor de qualquer forma que você deseja remover da coleção.

back to the top

Usar a coleção Forms

Agora você pode usar a coleção Forms exatamente como faria em versões anteriores do Visual Basic. O exemplo a seguir circula a coleção Forms e exibe a propriedade Name de qualquer controle no formulário:
Dim LoopForm As FormDim LoopControl As ControlFor Each LoopForm In Forms    For Each LoopControl In LoopForm.Controls        MessageBox.Show(LoopControl.Name)    NextNext				
back to the top

REFERÊNCIAS

Para obter mais informações sobre coleção formulários do Visual Basic 6.0, consulte o seguinte site da Microsoft: Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
307210Como criar classes e objetos no Visual Basic .NET
back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 308537 - Última Revisão: 12/06/2006 23:18:59 - Revisão: 3.3

Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic 2005

  • kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB308537 KbMtpt
Comentários