In dit stapsgewijze artikel wordt beschreven hoe binden een
ArrayListstructuren 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 de
ArrayList.
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 de
Eigenschap 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). A
Geparametriseerde 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 de
ArrayList, als volgt:
- Hiermee declareert u een variabele van het type van de structuur.
- Declareer eenArrayList.
- 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 de
ArrayListis ingevuld, kunt u de afzonderlijke leden van de structuur binden aan besturings elementen voor Windows-formulieren. Hiervoor moet u de
Toevoegenmethode van de
TextBox DataBindingseigenschap en de eigenschap gebonden, slaagt de naam van de
ArrayList, 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 de
ArrayList. Hiervoor moet u een
CurrencyManager. Koppelen de
CurrencyManagermet het formulier
BindingContext, in dit geval de
ArrayListstructuren.
Private cMan As CurrencyManager
cMan = CType(Me.BindingContext(al), CurrencyManager)
Het
CurrencyManagerobject heeft een
Positieeigenschap die kan worden gemanipuleerd om de leden van de
ArrayList. Toe te voegen aan of af te trekken van de huidige waarde van
Positie, kunt u weer geven in verschillende leden van de
ArrayListop 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
- Open een nieuw Windows Application-project in Visual Basic.NETTO of in Visual Basic 2005.
- Drie tekst vakken toe aan Form1 en vervolgens de besturings elementen horizont aal rangschikken.
- Vier opdracht knoppen toe aan Form1 en vervolgens de besturings elementen horizont aal rangschikken.
- Wijziging deText, eigenschapvan Button1 aanVolgende.
- Wijziging deText, eigenschapvan Button2 totVorige.
- Wijziging deText, eigenschapvan Button3 aanEerste.
- Wijziging deText, eigenschapvan 4 totLaatste.
- 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
- 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")
- 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
- Bouwen en uitvoeren van het project.
- 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 een
Collectieobject voor het opslaan van de structuren. Test het gebruik van een
Collectie, zoek de volgende regel programma code in de
Form_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
Artikel ID: 313638 - Laatste beoordeling: maandag 28 februari 2011 - 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
| kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB313638 KbMtnl |
Automatische vertalingBELANGRIJK: 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
(http://support.microsoft.com/kb/313638/en-us/
)