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

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 313639 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Ten artykuł został opublikowany wcześniej pod numerem PL313639
Ten artykuł został zarchiwizowany. Jest oferowany „taki, jaki jest” i nie będzie już aktualizowany.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule opisano „krok po kroku”, jak związać tablicę 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 Array.

Wymagania

Oto lista wymaganych elementów, takich jak sprzęt, oprogramowanie, infrastruktura sieci, umiejętności, wiedza i dodatki Service Pack:
  • Program Microsoft 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

Następnym krokiem jest utworzenie obiektów i dodanie ich do tablicy Array:
Dim al(2) As guitar

al(0)  = new guitar("Gibson", "Les Paul", 1958)
al(1)  = new guitar("Fender", "Jazz Bass", 1964)
al(2)  = new guitar("Guild", "Bluesbird", 1971)

Wiązanie właściwości obiektu z formantami formularza

Po wypełnieniu tablicy Array 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 Array 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

Ostatnim krokiem w tym procesie jest użycie klasy CurrencyManager w celu umożliwienia nawigowania po tablicy Array. Aby to zrobić, należy skojarzyć klasę CurrencyManager z właściwością BindingContext formularza (w tym wypadku Array).
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 Array. 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 Array 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.Length - 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 Property
    End Class
  4. Dodaj do formularza Form1 trzy formanty TextBox, a następnie rozmieść je poziomo.
  5. Dodaj do formularza Form1 cztery formanty Button, a następnie rozmieść je poziomo.
  6. 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

  7. Dodaj następujący kod do sekcji deklaracji formularza Form1:
    Private al(2) As guitar
    Private cMan As CurrencyManager
  8. Dodaj następujący kod do procedury zdarzenia Form_Load:
    al(0)  = new guitar("Gibson", "Les Paul", 1958)
    al(1)  = new guitar("Fender", "Jazz Bass", 1964)
    al(2)  = 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 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.Length - 1
    End 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.

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

Numer ID artykułu: 313639 - Ostatnia weryfikacja: 26 lutego 2014 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Visual Basic .NET 2002 Standard Edition
Słowa kluczowe: 
kbnosurvey kbarchive kbhowto kbhowtomaster KB313639

Przekaż opinię

 

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