Como vincular uma coleção de estruturas ou ArrayList a um Windows Form usando o Visual Basic .NET ou Visual Basic 2005

Traduções deste artigo Traduções deste artigo
ID do artigo: 313638 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo demonstra como vincular uma ArrayList de estruturas de um formulário do Windows. O exemplo inclui um Windows Form com três caixas de texto para exibir os membros de estrutura e quatro botões de comando para percorrer o ArrayList .

Requisitos

Microsoft Visual Basic .NET ou Microsoft Visual Basic 2005

Discussão de código

Esta seção descreve os conceitos de codificação importantes que são necessárias para concluir esta tarefa.

Criando a estrutura

Uma estrutura que deve ser vinculado a um formulário deve ter acessadores de membro. Acessadores de membro da estrutura são praticamente o mesmo que o Conjunto de propriedades / obter estrutura que é encontrado em uma classe. A estrutura que é usada para o exemplo neste artigo tem três membros (somente um é mostrado). Um construtor com parâmetros também é fornecido, mas não é necessário.
Private Structure guitar
    Friend mmake As String
    Friend mmodel As String
    Friend myear As Short

    Public Sub New(ByVal make, ByVal model, ByVal year)
        Me.mmake = make
        Me.mmodel = model
        Me.myear = year
    End Sub

    Public Property make() As String
        Get
            make = mmake
        End Get
        Set(ByVal Value As String)
            mmake = Value
        End Set
    End Property
End Structure
				

Adicionando instâncias de estrutura para um ArrayList

T criar instâncias e adicioná-los ao ArrayList , execute essas etapas:
  1. Declare uma variável do tipo da estrutura.
  2. Declare uma ArrayList .
  3. Criar instâncias da estrutura e, em seguida, adicioná-los a ArrayList .
Private myStruct As guitar
Dim al As New ArrayList()

myStruct = New guitar("Gibson", "Les Paul", 1958)
al.Add(myStruct) 
myStruct = New guitar("Fender", "Jazz Bass", 1964)
al.Add(myStruct)
myStruct = New guitar("Guild", "Bluesbird", 1971)
al.Add(myStruct)
				

Vinculando os membros de estrutura a controles de formulário

Depois que o ArrayList estiver preenchido, você pode vincular os membros individuais da estrutura para controles Windows Forms. Para fazer isso, você deve chamar o método Add da propriedade DataBindings de caixa de texto e passar a propriedade deve ser vinculado, o nome de ArrayList e o membro da estrutura de.
TextBox1.DataBindings.Add("Text", al, "make")
TextBox2.DataBindings.Add("Text", al, "model")
TextBox3.DataBindings.Add("Text", al, "year")
				

Fornecendo uma maneira para mover até o ArrayList

A etapa final no processo é fornecer uma maneira para percorrer o ArrayList . Para fazer isso, você deve usar um CurrencyManager . Associe CurrencyManager BindingContext , nesse caso, o ArrayList de estruturas do formulário.
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
				
objeto CurrencyManager tem uma propriedade posição que pode ser manipulada para iterar sobre os membros de ArrayList . Adicionando a ou subtração de, o valor atual de posição , você pode exibir membros diferentes de ArrayList no formulário.
'Move forward one element.
 cMan.Position += 1
'Move back one element.
cMan.Position -= 1
'Move to the beginning.
cMan.Position = 0
'Move to the end.
cMan.Position = al.Count - 1
				

Exemplo passo a passo

  1. Abra um novo projeto Windows Application no Visual Basic .NET ou no Visual Basic 2005.
  2. Adicione três caixas de texto para Form1 e organizar os controles horizontalmente.
  3. Adicione quatro botões de comando para Form1 e organizar os controles horizontalmente.
  4. Altere a propriedade texto de Button1 para Avançar .
  5. Altere a propriedade texto de Button2 para o anterior .
  6. Altere a propriedade texto de Button3 para primeiro .
  7. Altere a propriedade texto de Button4 a última .
  8. Adicione o seguinte código à seção Declaração de Form1:
    Private Structure guitar
        Friend mmake As String
        Friend mmodel As String
        Friend myear As Short
    
        Public Sub New(ByVal make, ByVal model, ByVal year)
            Me.mmake = make
            Me.mmodel = model
            Me.myear = year
        End Sub
    
        Public Property make() As String
            Get
                make = mmake
            End Get
            Set(ByVal Value As String)
                mmake = Value
            End Set
        End Property
        Public Property model() As String
            Get
                model = mmodel
            End Get
            Set(ByVal Value As String)
                mmodel = Value
            End Set
        End Property
        Public Property year() As Short
            Get
                year = myear
            End Get
            Set(ByVal Value As Short)
    
    
            myear = Value
            End Set
        End Property
    End Structure
    
    Private myStruct As guitar
    Private al As New ArrayList()
    Private cMan As CurrencyManager
    					
  9. Adicione o seguinte código ao evento Form_Load :
    myStruct = New guitar("Gibson", "Les Paul", 1958)
    al.Add(myStruct)
    myStruct = New guitar("Fender", "Jazz Bass", 1964)
    al.Add(myStruct)
    myStruct = New guitar("Guild", "Bluesbird", 1971)
    al.Add(myStruct)
    
    cMan = CType(Me.BindingContext(al), CurrencyManager)
    
    TextBox1.DataBindings.Add("Text", al, "make")
    TextBox2.DataBindings.Add("Text", al, "model")
    TextBox3.DataBindings.Add("Text", al, "year")
    					
  10. Adicione o seguinte código após o evento Form_Load :
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles Button1.Click
            cMan.Position += 1
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles Button2.Click
            cMan.Position -= 1
    End Sub
    
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles Button3.Click
            cMan.Position = 0
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles Button4.Click
            cMan.Position = al.Count - 1
    End Sub
    					
  11. Criar e executar o projeto.
  12. Clique nos botões para exibir diferentes elementos de ArrayList . Observe que você pode editar os valores dos objetos.

Usando uma coleção

Você pode usar um objeto de coleção para armazenar as estruturas. Para testar o uso de uma coleção , localize a seguinte linha de código no procedimento de evento Form_Load :
Private al As New ArrayList()
substituir a linha de código anterior com o seguinte código, e execute novamente o exemplo:
Private al As New Collection()

REFERÊNCIAS

Consulte o seguinte tópico na documentação do Visual Studio .NET ou Visual Studio 2005 ajuda online:
Consumidores de dados no Windows Forms

Propriedades

ID do artigo: 313638 - Última revisão: segunda-feira, 24 de fevereiro de 2014 - Revisão: 3.3
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
Palavras-chave: 
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313638 KbMtpt
Tradução automática
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: 313638

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com