SO WIRD'S GEMACHT: Binden eines Array mit Objekten an ein Windows-Formular mit Visual Basic .NET

Dieser Artikel wurde zuvor veröffentlicht unter D313639
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
313639 HOW TO: Bind an Array of Objects to a Windows Form Using Visual Basic .NET
In Artikel 313635 wird dieses Thema für Microsoft Visual C# .NET behandelt.
Zusammenfassung
Dieser Artikel beschreibt die Vorgehensweise zum Binden eines Array mit Objekten an ein Windows-Formular. Das Beispiel in diesem Artikel enthält ein Windows-Formular mit drei Textfeldern zur Anzeige der Objekteigenschaften. Das Beispiel enthält außerdem vier Befehlsschaltflächen zum Durchsuchen der Array-Klasse.

Zurück zum Anfang

Voraussetzungen

In der folgenden Liste sind die empfohlene Hardware, Software, Netzwerkinfrastruktur und Kenntnisse sowie erforderliche Service Packs aufgeführt:
  • Microsoft Visual Basic .NET
  • Fortgeschrittenes Verständnis der Visual Basic-Programmierkonzepte
Zurück zum Anfang

Vorgehensweise

Dieser Abschnitt beschreibt die Codingkonzepte, die zur Ausführung dieser Aufgabe benötigt werden.

Zurück zum Anfang

Entwerfen der Klasse

Eine Klasse, die an ein Formular gebunden werden soll, muss Eigenschaftenaccessoren haben. Jede zu bindende Eigenschaft muss die Methoden Property Set und Property Get haben. Die Klasse, die für das Beispiel in diesem Artikel verwendet wird, hat drei Eigenschaften (nur eine wird hier dargestellt). Das Beispiel in diesem Artikel enthält auch einen parametrisierten Konstruktor, der jedoch nicht erforderlich ist.
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
Zurück zum Anfang

Hinzufügen von Klasseninstanzen zu einem Array

Im nächsten Schritt werden die Objekte erstellt und zur Klasse Array hinzugefügt:
Dim al(2) As guitaral(0)  = new guitar("Gibson", "Les Paul", 1958)al(1)  = new guitar("Fender", "Jazz Bass", 1964)al(2)  = new guitar("Guild", "Bluesbird", 1971)
Zurück zum Anfang

Binden der Objekteigenschaften an Formularsteuerelemente

Nach dem Füllen des Array können Sie die einzelnen Eigenschaften des Objekts an Windows-Formularsteuerelemente binden. Dazu rufen Sie die Methode Add der Eigenschaft DataBindings des Steuerelements TextBox auf. Übergeben Sie außerdem die zu bindende Steuerelementeigenschaft, den Namen des Array und die Eigenschaft des Objekts.
textBox1.DataBindings.Add("Text", al, "make")textBox2.DataBindings.Add("Text", al, "model")textBox3.DataBindings.Add("Text", al, "year")
Zurück zum Anfang

Bereitstellen einer Möglichkeit zum Durchsuchen des Array

In letzten Schritt dieses Ablaufs verwenden Sie eine CurrencyManager-Klasse zum Durchsuchen des Array. Verbinden Sie dazu den CurrencyManager mit dem BindingContext des Formulars (in diesem Fall das Array).
Private cMan As CurrencyManagercMan = CType(Me.BindingContext(al), CurrencyManager)
Die Klasse CurrencyManager hat eine Eigenschaft Position, die Sie zur Iteration über die Member des Array ändern können. Durch Addition zum oder Subtraktion vom aktuellen Wert von Position können Sie verschiedene Member des Array im Formular anzeigen. Beispiel:
'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.Length - 1
Zurück zum Anfang

Beispiel

  1. Erstellen Sie ein neues Windows-Anwendungsprojekt in Visual Basic .NET. Form1 wird standardmäßig zum Projekt hinzugefügt.
  2. Fügen Sie eine Klasse zum Projekt hinzu.
  3. Ersetzen Sie den Code in "Class1.vb" durch folgenden Code:
    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. Fügen Sie drei TextBox-Steuerelemente zu Form1 hinzu und ordnen Sie die Steuerelemente horizontal an.
  5. Fügen Sie vier Button-Steuerelemente zu Form1 hinzu und ordnen Sie die Steuerelemente horizontal an.
  6. Ändern Sie die Eigenschaft Text der Schaltflächen wie folgt:
    SchaltflächeText
    Button1Next
    Button2Previous
    Button3First
    Button4Last

  7. Fügen Sie zum Deklarationsteil von Form1 folgenden Code hinzu:
    Private al(2) As guitarPrivate cMan As CurrencyManager
  8. Fügen Sie folgenden Code zum Ereignis Form_Load hinzu:
    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. Fügen Sie folgenden Code nach dem Ereignis Form_Load hinzu:
    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.Length - 1End Sub
  10. Erstellen Sie das Projekt und führen Sie es aus.
  11. Klicken Sie auf die Schaltflächen, um verschiedene Arrayelemente anzuzeigen. Sie können die Werte der Objekte bearbeiten.
Zurück zum Anfang
Verweise
Weitere Informationen finden Sie unter dem Thema "Consumer von Daten auf Windows Forms" in der Visual Studio .NET-Onlinehilfe.

Zurück zum Anfang
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 313639 – Letzte Überarbeitung: 02/24/2014 15:39:31 – Revision: 1.0

  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • kbnosurvey kbarchive kbhowtomaster KB313639
Feedback