Como associar um ArrayList ou conjunto de estruturas a um formulário do Windows utilizando o Visual Basic .NET ou Visual Basic 2005

Traduções de Artigos Traduções de Artigos
Artigo: 313638 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

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

Requisitos

O Microsoft Visual Basic .NET ou o Microsoft Visual Basic 2005

Discussão sobre código

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

Conceber a estrutura

Uma estrutura que deve estar vinculado a um formulário tem de ter acessores de membro. Os acessores de membro de estrutura são praticamente as mesmas o Conjunto de propriedades / obter a estrutura que está localizado numa classe. A estrutura utilizada para o exemplo neste artigo tem três membros (só é 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
				

Adicionar instâncias de estrutura para um ArrayList

T criar instâncias e adicioná-los a ArrayList , siga estes passos:
  1. Declare uma variável do tipo da estrutura.
  2. Declare um ArrayList .
  3. Criar instâncias da estrutura e, em seguida, as adicionem 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)
				

Associação de membros estrutura a controlos de formulário

Depois da ArrayList estiver preenchido, pode ligar os membros individuais da estrutura para controlos de formulários do Windows. Para efectuar este procedimento, tem de chamar o método de Adicionar da propriedade DataBindings de caixa de texto e passar a propriedade seja ligada, o nome do ArrayList e o membro da estrutura.
TextBox1.DataBindings.Add("Text", al, "make")
TextBox2.DataBindings.Add("Text", al, "model")
TextBox3.DataBindings.Add("Text", al, "year")
				

Fornece uma forma de mover através de ArrayList

O passo final do processo é fornecer uma forma de percorrer a ArrayList . Para efectuar este procedimento, tem de utilizar um CurrencyManager . Associa o CurrencyManager BindingContext , neste caso, a ArrayList das estruturas do formulário.
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
				
o objecto CurrencyManager tem uma propriedade de posição que pode ser manipulada para iterar através de membros do ArrayList . Ao adicionar ou subtrair do valor actual de posição , pode apresentar diferentes membros 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 projecto de aplicação do Windows no Visual Basic .NET ou no Visual Basic 2005.
  2. Adicione três caixas de texto ao Form1 e, em seguida, horizontalmente a dispor os controlos.
  3. Adicione quatro botões de comando ao Form1 e, em seguida, horizontalmente a dispor os controlos.
  4. Altere a propriedade de texto de Button1 para seguinte .
  5. Altere a propriedade de texto de Button2 para o anterior .
  6. Altere a propriedade de texto de Button3 a primeira .
  7. Altere a propriedade de texto de Button4 para última .
  8. Adicione o código seguinte à secção de declaração do 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 depois do 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. Crie e execute o projecto.
  12. Clique nos botões para apresentar elementos ArrayList diferentes. Tenha em atenção que pode editar os valores dos objectos.

Utilizar um conjunto

Pode utilizar um objecto da colecção para armazenar as estruturas. Para testar a utilização de uma colecção , localize a seguinte linha de código no procedimento de evento Form_Load :
Private al As New ArrayList()
substituir linha de código anterior com o seguinte código e execute novamente o exemplo:
Private al As New Collection()

REFERÊNCIAS

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

Propriedades

Artigo: 313638 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 313638

Submeter comentários

 

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