JAK: Wiązanie tablicy ArrayList lub kolekcji obiektów z formularzem systemu Windows za pomocą programu Visual Basic .NET

Ten artykuł został opublikowany wcześniej pod numerem PL313640
Ten artykuł został zarchiwizowany. Jest oferowany „taki, jaki jest” i nie będzie już aktualizowany.
Streszczenie
W tym artykule opisano „krok po kroku”, jak związać tablicęArrayListobiektó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 tablicyArrayList.

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ć metodyProperty SetiProperty 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 PropertyEnd Class

Dodawanie wystąpień klasy do tablicy ArrayList

Następnym krokiem jest utworzenie obiektów i dodanie ich do tablicyArrayList:
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 tablicyArrayListpojedyncze właściwości obiektu można związać z formantami formularza systemu Windows. Aby to zrobić, należy wywołać metodęAddwłaściwościDataBindingsformantuTextBox. Ponadto należy przekazać właściwość formantu, która będzie związana, nazwę obiektu typuArrayListoraz 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 klasyCurrencyManagerw celu umożliwienia nawigowania po tablicyArrayList. Aby to zrobić, należy skojarzyć klasęCurrencyManagerz właściwościąBindingContextformularza (w tym wypadkuArrayList).
Private cMan As CurrencyManagercMan = CType(Me.BindingContext(al), CurrencyManager)
KlasaCurrencyManagerma właściwośćPosition, którą można manipulować w celu iterowania przez elementy tablicyArrayList. Dodając lub odejmując wartości od bieżącej wartości właściwościPosition, można wyświetlać różne elementy tablicyArrayListna 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”

  1. Utwórz nowy projekt aplikacji programu Visual Basic .NET dla systemu Windows. Domyślnie do projektu zostaje dodany formularz Form1.
  2. Dodaj klasę do projektu.
  3. 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 PropertyEnd Class
  4. Dodaj do formularza Form1 trzy formantyTextBox, a następnie rozmieść je poziomo.
  5. Dodaj do formularza Form1 cztery formantyButton, a następnie rozmieść je poziomo.
  6. Zmień właściwośćTextprzycisków, jak następuje:
    PrzyciskText
    Button1Następny
    Button2Poprzedni
    Button3Pierwszy
    Button4Ostatni

  7. Dodaj następujący kod do sekcji deklaracji formularza Form1:
    Private al As New ArrayList()Private cMan As CurrencyManager
  8. Dodaj następujący kod do procedury zdarzeniaForm_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")
  9. Dodaj następujący kod po procedurze zdarzeniaForm_Load:
    Private Sub Button1_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button1.Click        cMan.Position += 1End SubPrivate Sub Button2_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button2.Click        cMan.Position -= 1End SubPrivate Sub Button3_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button3.Click        cMan.Position = 0End SubPrivate Sub Button4_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button4.Click        cMan.Position = al.Count - 1End Sub
  10. Skompiluj i uruchom projekt.
  11. 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ć obiektuCollectiondo przechowywania struktur. Aby przetestować użycie obiektuCollection, wykonaj następujące kroki:
  1. Zlokalizuj następujący kod w procedurze zdarzeniaForm_Load:
    Dim al As New ArrayList()
  2. Zastąp powyższy kod następującym kodem:
    Dim al As New Collection()
  3. Zapisz zmiany projektu, a następnie ponownie uruchom projekt.
Materiały referencyjne
Aby uzyskać więcej informacji, zobacz temat „Consumers of Data on Windows Forms” w Pomocy online programu Microsoft Visual Studio .NET.

Właściwości

Identyfikator artykułu: 313640 — ostatni przegląd: 02/24/2014 20:25:14 — zmiana: 1.0

Microsoft Visual Basic .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbhowto kbhowtomaster KB313640
Opinia