Wie Sie einer ArrayList oder Auflistung von Strukturen an ein Windows Form binden, mithilfe von Visual Basic .NET oder Visual Basic 2005

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 313638 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt das Binden einer ArrayList mit Strukturen an ein Windows Form. Das Beispiel enthält ein Windows Form mit drei Textfeldern zur Anzeige der Strukturmember und vier Befehlsschaltflächen zum Bewegen in die ArrayList .

Voraussetzungen

Microsoft Visual Basic .NET oder Microsoft Visual Basic 2005

Erläuterung von Code

Dieser Abschnitt beschreibt die wichtige Codierung Konzepte, die zum Durchführen dieser Aufgabe erforderlich sind.

Entwerfen der Struktur

Eine Struktur, die an ein Formular gebunden werden soll, muss Member-Accessoren haben. Struktur Member-Accessoren sind praktisch identisch mit dem Eigenschaftensatz / Get -Struktur, die in einer Klasse gefunden wird. Die Struktur, die für das Beispiel in diesem Artikel verwendet, hat drei Member (nur eine wird dargestellt). Auch einen parametrisierten Konstruktor bereitgestellt, jedoch ist nicht erforderlich.
Private Structure guitar
    Friend mmake As String
    Friend mmodel As String
    Friend myear As Short

    Public Sub New(ByVal make, ByVal model, ByVal year)
        Me.mmake = make
        Me.mmodel = model
        Me.myear = year
    End Sub

    Public Property make() As String
        Get
            make = mmake
        End Get
        Set(ByVal Value As String)
            mmake = Value
        End Set
    End Property
End Structure
				

Hinzufügen von Strukturinstanzen zu einer ArrayList

T Instanzen erstellen und Sie ArrayList hinzufügen, führen Sie diese Schritte aus:
  1. Deklarieren Sie eine Variable mit dem Typ der Struktur.
  2. Deklarieren Sie eine ArrayList .
  3. Erstellen Sie Instanzen der Struktur, und fügen Sie Sie zur ArrayList hinzu.
Private myStruct As guitar
Dim al As New ArrayList()

myStruct = New guitar("Gibson", "Les Paul", 1958)
al.Add(myStruct) 
myStruct = New guitar("Fender", "Jazz Bass", 1964)
al.Add(myStruct)
myStruct = New guitar("Guild", "Bluesbird", 1971)
al.Add(myStruct)
				

Binden der Strukturmember an Formularsteuerelemente

Nach ArrayList gefüllt ist, können Sie die einzelnen Elemente der Struktur an Windows Forms-Steuerelemente binden. Dazu müssen rufen Sie die Add -Methode des der Textbox DataBindings -Eigenschaft und die Eigenschaft gebunden werden, den Namen der ArrayList und die Member der Struktur übergeben.
TextBox1.DataBindings.Add("Text", al, "make")
TextBox2.DataBindings.Add("Text", al, "model")
TextBox3.DataBindings.Add("Text", al, "year")
				

Bereitstellen einer Möglichkeit zum Verschieben über die ArrayList

Die endgültigen Schritt im Prozess ist eine Möglichkeit zum Navigieren durch die ArrayList . Zu diesem Zweck müssen Sie einen CurrencyManager verwenden. Verbinden Sie den CurrencyManager mit des Formulars BindingContext , in diesem Fall die ArrayList mit Strukturen.
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
				
CurrencyManager -Objekt hat eine Eigenschaft Position , die zum Durchlaufen der Member der ArrayList bearbeitet werden können. Durch Hinzufügen oder Subtraktion vom aktuellen Wert von Position , können Sie verschiedene Member der ArrayList auf dem Formular anzeigen.
'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
				

Vorgehensweise: Beispiel

  1. Öffnen Sie ein neues Windows-Anwendungsprojekt in Visual Basic .NET oder in Visual Basic 2005.
  2. Fügen Sie drei Textfelder zu Form1 hinzu, und ordnen Sie die Steuerelemente horizontal an.
  3. Fügen Sie vier Befehlsschaltflächen zu Form1 hinzu, und ordnen Sie die Steuerelemente horizontal an.
  4. Ändern Sie die Text-Eigenschaft von Button1 auf Weiter .
  5. Ändern Sie die Text-Eigenschaft von Button2 auf zurück .
  6. Ändern Sie die Text-Eigenschaft des Button3 auf Erster .
  7. Ändern der Text-Eigenschaft von Button4 auf Letzte .
  8. Fügen Sie in der Deklaration Abschnitt von Form1 folgenden Code hinzu:
    Private Structure guitar
        Friend mmake As String
        Friend mmodel As String
        Friend myear As Short
    
        Public Sub New(ByVal make, ByVal model, ByVal year)
            Me.mmake = make
            Me.mmodel = model
            Me.myear = year
        End Sub
    
        Public Property make() As String
            Get
                make = mmake
            End Get
            Set(ByVal Value As String)
                mmake = Value
            End Set
        End Property
        Public Property model() As String
            Get
                model = mmodel
            End Get
            Set(ByVal Value As String)
                mmodel = Value
            End Set
        End Property
        Public Property year() As Short
            Get
                year = myear
            End Get
            Set(ByVal Value As Short)
    
    
            myear = Value
            End Set
        End Property
    End Structure
    
    Private myStruct As guitar
    Private al As New ArrayList()
    Private cMan As CurrencyManager
    					
  9. Fügen Sie dem Form_Load -Ereignis den folgenden Code:
    myStruct = New guitar("Gibson", "Les Paul", 1958)
    al.Add(myStruct)
    myStruct = New guitar("Fender", "Jazz Bass", 1964)
    al.Add(myStruct)
    myStruct = New guitar("Guild", "Bluesbird", 1971)
    al.Add(myStruct)
    
    cMan = CType(Me.BindingContext(al), CurrencyManager)
    
    TextBox1.DataBindings.Add("Text", al, "make")
    TextBox2.DataBindings.Add("Text", al, "model")
    TextBox3.DataBindings.Add("Text", al, "year")
    					
  10. Fügen Sie den folgenden Code nach dem Form_Load -Ereignis:
    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
    					
  11. Erstellen Sie das Projekt, und führen Sie es aus.
  12. Klicken Sie auf die Schaltflächen, um verschiedene ArrayList -Elemente anzuzeigen. Sie können die Werte der Objekte bearbeiten.

Verwenden einer Auflistungs

Ein Collection -Objekt können Sie um die Strukturen zu speichern. Suchen Sie die Verwendung einer Auflistung zu testen, die folgende Zeile des Codes in der Ereignisprozedur Form_Load :
Private al As New ArrayList()
die vorangehende Codezeile mit dem folgenden Code ersetzen und wiederholen Sie das Beispiel:
Private al As New Collection()

Informationsquellen

Finden Sie im folgenden Thema in der Visual Studio .NET oder Onlinehilfe von Visual Studio 2005-Dokumentation:
Consumer von Daten in Windows Forms

Eigenschaften

Artikel-ID: 313638 - Geändert am: Montag, 24. Februar 2014 - Version: 3.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
Keywords: 
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313638 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 313638
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