SO WIRD'S GEMACHT: Binden einer ArrayList oder einer Auflistung von Objekten an ein Windows-Formular mit Visual Basic .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 313640 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D313640
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:
313640 HOW TO: Bind an ArrayList or Collection of Objects to a Windows Form Using Visual Basic .NET
In Artikel 313634 wird dieses Thema für Microsoft Visual C# .NET behandelt.
Hinweis: Die Verwendung der hier aufgeführten Informationen sowie Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen.
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.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt die Vorgehensweise zum Binden einer ArrayList 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 ArrayList.

Voraussetzungen

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

Vorgehensweise

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

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

Hinzufügen von Klasseninstanzen zu einer ArrayList

Im nächsten Schritt werden die Objekte erstellt und zur Klasse ArrayList hinzugefügt:
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))

Binden der Objekteigenschaften an Formularsteuerelemente

Nach dem Füllen der ArrayList 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 der ArrayList und die Eigenschaft des Objekts.
TextBox1.DataBindings.Add("Text", al, "Make")
TextBox2.DataBindings.Add("Text", al, "Model")
TextBox3.DataBindings.Add("Text", al, "Year")

Bereitstellen einer Möglichkeit zum Durchsuchen der ArrayList

In letzten Schritt dieses Ablaufs verwenden Sie eine CurrencyManager-Klasse zum Durchsuchen der ArrayList. Verbinden Sie dazu den CurrencyManager mit dem BindingContext des Formulars (in diesem Fall die ArrayList).
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
Die Klasse CurrencyManager hat eine Eigenschaft Position, die Sie zur Iteration über die Member der ArrayList ändern können. Durch Addition zum oder Subtraktion vom aktuellen Wert von Position können Sie verschiedene Member der ArrayList 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.Count - 1

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 Property
    End 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:
    Tabelle minimierenTabelle vergrößern
    SchaltflächeText
    Button1 Next
    Button2 Previous
    Button3 First
    Button4 Last

  7. Fügen Sie zum Deklarationsteil von Form1 folgenden Code hinzu:
    Private al As New ArrayList()
    Private cMan As CurrencyManager
  8. Fügen Sie folgenden Code zum Ereignis Form_Load hinzu:
    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. 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 += 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
  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.

Verwendung eines Auflistungsobjekts

Sie können auch ein Collection-Objekt zum Speichern der Strukturen verwenden. So testen Sie die Verwendung eines Collection-Objekts:
  1. Suchen Sie folgenden Code in der Ereignisprozedur Form_Load:
    Dim al As New ArrayList()
  2. Ersetzen Sie diesen Code durch folgenden Code:
    Dim al As New Collection()
  3. Speichern Sie die Projektänderungen und führen Sie das Projekt aus.

Verweise

Weitere Informationen finden Sie unter dem Thema "Consumer von Daten auf Windows Forms" in der Visual Studio .NET-Onlinehilfe.

Eigenschaften

Artikel-ID: 313640 - Geändert am: Montag, 24. Februar 2014 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Keywords: 
kbnosurvey kbarchive kbhowtomaster KB313640
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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