W tym artykule opisano „krok po kroku”, jak związać tablicę
ArrayList
obiektów z formularzem systemu Windows. Przykład przedstawiony w tym artykule dotyczy formularza systemu Windows z trzema polami tekstowymi służącymi do wyświetlania właściwości obiektu. Formularz ten zawiera również cztery przyciski polecenia służące do nawigowania po tablicy
ArrayList.
Wymagania
Oto lista wymaganych elementów, takich jak sprzęt, oprogramowanie, infrastruktura sieci, umiejętności, wiedza i dodatki Service Pack:
-
Program Visual Studio .NET
-
Średni poziom wiedzy na temat pojęć dotyczących programowania w języku Visual Basic
Opis kodu
W tej sekcji przedstawiono pojęcia związane z pisaniem kodu, które są niezbędne do wykonania tego zadania.
Projektowanie klasy
Klasa, która będzie związana z formularzem, musi mieć obiekty udostępniające właściwości. Każda właściwość, która będzie związana, musi mieć metody
Property Set
i
Property Get. Klasa używana w przykładzie pokazanym w tym artykule ma trzy właściwości (w tej sekcji pokazano tylko jedną). Przykład obejmuje również sparametryzowanego konstruktora, chociaż nie jest on wymagany.
Public Class guitar
Private m_make As String
Private m_model As String
Private m_year As Short
Public Sub New(ByVal make, ByRef model, ByVal year)
Me.make = make
Me.model = model
Me.year = year
End Sub
Public Property make() As String
Get
Return m_make
End Get
Set(ByVal Value As String)
m_make = Value
End Set
End Property
End Class
Dodawanie wystąpień klasy do tablicy ArrayList
Następnym krokiem jest utworzenie obiektów i dodanie ich do tablicy
ArrayList:
Private al As New ArrayList()
al.Add(New guitar("Gibson", "Les Paul", 1958))
al.Add(New guitar("Fender", "Jazz Bass", 1964))
al.Add(New Guitar("Guild", "Bluesbird", 1971))
Wiązanie właściwości obiektu z formantami formularza
Po wypełnieniu tablicy
ArrayList
pojedyncze właściwości obiektu można związać z formantami formularza systemu Windows. Aby to zrobić, należy wywołać metodę
Add
właściwości
DataBindings
formantu
TextBox. Ponadto należy przekazać właściwość formantu, która będzie związana, nazwę obiektu typu
ArrayList
oraz właściwość tego obiektu.
TextBox1.DataBindings.Add("Text", al, "Make")
TextBox2.DataBindings.Add("Text", al, "Model")
TextBox3.DataBindings.Add("Text", al, "Year")
Umożliwienie nawigowania po tablicy ArrayList
Ostatnim krokiem w tym procesie jest użycie klasy
CurrencyManager
w celu umożliwienia nawigowania po tablicy
ArrayList. Aby to zrobić, należy skojarzyć klasę
CurrencyManager
z właściwością
BindingContext
formularza (w tym wypadku
ArrayList).
Private cMan As CurrencyManager
cMan = CType(Me.BindingContext(al), CurrencyManager)
Klasa
CurrencyManager
ma właściwość
Position, którą można manipulować w celu iterowania przez elementy tablicy
ArrayList. Dodając lub odejmując wartości od bieżącej wartości właściwości
Position, można wyświetlać różne elementy tablicy
ArrayList
na formularzu. Na przykład:
'Przejdź o jeden element w przód.
cMan.Position += 1
'Przejdź o jeden element w tył.
cMan.Position -= 1
'Przejdź na początek.
cMan.Position = 0
'Przejdź na koniec.
cMan.Position = al.Count - 1
Przykład „krok po kroku”
-
Utwórz nowy projekt aplikacji programu Visual Basic .NET dla systemu Windows. Domyślnie do projektu zostaje dodany formularz Form1.
-
Dodaj klasę do projektu.
-
Zastąp kod w pliku Class1.vb następującym kodem:
Public Class guitar
Private m_make As String
Private m_model As String
Private m_year As Short
Public Sub New(ByVal make, ByRef model, ByVal year)
Me.make = make
Me.model = model
Me.year = year
End Sub
Public Property make() As String
Get
Return m_make
End Get
Set(ByVal Value As String)
m_make = Value
End Set
End Property
Public Property model() As String
Get
Return m_model
End Get
Set(ByVal Value As String)
m_model = Value
End Set
End Property
Public Property year() As Short
Get
Return m_year
End Get
Set(ByVal Value As Short)
m_year = Value
End Set
End Property
End Class -
Dodaj do formularza Form1 trzy formanty
TextBox, a następnie rozmieść je poziomo.
-
Dodaj do formularza Form1 cztery formanty
Button, a następnie rozmieść je poziomo.
-
Zmień właściwość
Text
przycisków, jak następuje:
Zwiń tę tabelęRozwiń tę tabelę
|
Przycisk
|
Text
|
|
Button1
|
Następny
|
|
Button2
|
Poprzedni
|
|
Button3
|
Pierwszy
|
|
Button4
|
Ostatni
|
-
Dodaj następujący kod do sekcji deklaracji formularza Form1:
Private al As New ArrayList()
Private cMan As CurrencyManager
-
Dodaj następujący kod do procedury zdarzenia
Form_Load:
al.Add(New guitar("Gibson", "Les Paul", 1958))
al.Add(New guitar("Fender", "Jazz Bass", 1964))
al.Add(New Guitar("Guild", "Bluesbird", 1971))
cMan = CType(Me.BindingContext(al), CurrencyManager)
TextBox1.DataBindings.Add("Text", al, "make")
TextBox2.DataBindings.Add("Text", al, "model")
TextBox3.DataBindings.Add("Text", al, "year") -
Dodaj następujący kod po procedurze zdarzenia
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 -
Skompiluj i uruchom projekt.
-
Kliknij poszczególne przyciski, aby wyświetlić różne elementy tablicy. Zauważ, że można edytować wartości obiektów.
Korzystanie z obiektu Collection
Można również używać obiektu
Collection
do przechowywania struktur. Aby przetestować użycie obiektu
Collection, wykonaj następujące kroki:
-
Zlokalizuj następujący kod w procedurze zdarzenia
Form_Load:
Dim al As New ArrayList()
-
Zastąp powyższy kod następującym kodem:
Dim al As New Collection()
-
Zapisz zmiany projektu, a następnie ponownie uruchom projekt.
Aby uzyskać więcej informacji, zobacz temat „Consumers of Data on Windows Forms” w Pomocy online programu Microsoft Visual Studio .NET.
Numer ID artykułu: 313640 - Ostatnia weryfikacja: 9 kwietnia 2003 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
- Microsoft Visual Basic .NET 2002 Standard Edition
| kbhowto kbhowtomaster KB313640 |