Hoe een ArrayList of een collectie van structuren binden aan een Windows-formulier met behulp van Visual Basic.NET of Visual Basic 2005

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 313638 - Bekijk de producten waarop dit artikel van toepassing is.
Dit artikel is gearchiveerd. Het wordt aangeboden in de huidige vorm en wordt niet meer bijgewerkt.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

In dit stapsgewijze artikel wordt beschreven hoe binden eenArrayListstructuren op een Windows-formulier. Het voorbeeld bevat een Windows-formulier met drie tekst vakken weer geven de structuur leden en vier opdracht knoppen om te bladeren door deArrayList.

Vereisten

Microsoft Visual Basic.NET of Microsoft Visual Basic 2005

Bespreking van de Code

Deze sectie beschrijft de belangrijke program meer concepten die nodig zijn om deze taak te voltooien.

De structuur ontwerpen

Een structuur die is gebonden aan een formulier moet accessors lid hebben. Structuur lid accessors zijn vrijwel hetzelfde als deEigenschap instellen/Getstructuur die wordt gevonden in een klasse. De structuur die wordt gebruikt voor het voorbeeld in dit artikel heeft drie leden (alleen wordt weer gegeven). AGeparametriseerde constructorook wordt geleverd, maar is niet vereist.
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
				

Structuur exemplaren toevoegen aan een ArrayList

T exemplaren maken en toevoegen aan deArrayList, als volgt:
  1. Hiermee declareert u een variabele van het type van de structuur.
  2. Declareer eenArrayList.
  3. Instanties van de structuur te maken en vervolgens toevoegen aan deArrayList.
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)
				

De structuur leden koppelen aan formulier besturings elementen

Na deArrayListis ingevuld, kunt u de afzonderlijke leden van de structuur binden aan besturings elementen voor Windows-formulieren. Hiervoor moet u deToevoegenmethode van deTextBox DataBindingseigenschap en de eigenschap gebonden, slaagt de naam van deArrayList, en het lid van de structuur.
TextBox1.DataBindings.Add("Text", al, "make")
TextBox2.DataBindings.Add("Text", al, "model")
TextBox3.DataBindings.Add("Text", al, "year")
				

Bieden een manier om te verplaatsen via de ArrayList

De laatste stap in het proces is een manier bieden om te bladeren door deArrayList. Hiervoor moet u eenCurrencyManager. Koppelen deCurrencyManagermet het formulierBindingContext, in dit geval deArrayListstructuren.
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
				
HetCurrencyManagerobject heeft eenPositieeigenschap die kan worden gemanipuleerd om de leden van deArrayList. Toe te voegen aan of af te trekken van de huidige waarde vanPositie, kunt u weer geven in verschillende leden van deArrayListop het formulier.
'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
				

Stapsgewijs voorbeeld

  1. Open een nieuw Windows Application-project in Visual Basic.NETTO of in Visual Basic 2005.
  2. Drie tekst vakken toe aan Form1 en vervolgens de besturings elementen horizont aal rangschikken.
  3. Vier opdracht knoppen toe aan Form1 en vervolgens de besturings elementen horizont aal rangschikken.
  4. Wijziging deText, eigenschapvan Button1 aanVolgende.
  5. Wijziging deText, eigenschapvan Button2 totVorige.
  6. Wijziging deText, eigenschapvan Button3 aanEerste.
  7. Wijziging deText, eigenschapvan 4 totLaatste.
  8. Voeg de volgende code naar de declaratie sectie van 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. Voeg de volgende code om deForm_Loadgebeurtenis:
    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. Voeg de volgende code na deForm_Loadgebeurtenis:
    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. Bouwen en uitvoeren van het project.
  12. Klik op de knoppen anders weer gevenArrayListelementen. Houd er rekening mee dat u de waarden van de objecten kunt bewerken.

Een collectie gebruiken

U kunt eenCollectieobject voor het opslaan van de structuren. Test het gebruik van eenCollectie, zoek de volgende regel programma code in deForm_Loadgebeurtenisprocedure:
Private al As New ArrayList()
De voorgaande code regel vervangen door de volgende code en voer het voorbeeld opnieuw:
Private al As New Collection()

VERWIJZINGEN

Zie het volgende onderwerp in de Visual Studio.NET of Visual Studio 2005 on line Help-documentatie:
Consumenten van gegevens op Windows Forms

Eigenschappen

Artikel ID: 313638 - Laatste beoordeling: maandag 24 februari 2014 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
Trefwoorden: 
kbnosurvey kbarchive kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB313638 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:313638

Geef ons feedback

 

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