vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Listbox Frage 
Autor: Vampire666
Datum: 07.11.02 07:42

Kann Dir dafür ein recht gutes Beispiel schicken, was über eine Klasse geht, musst halt dann grad noch das Einlesen der Datei noch einfügen, wobei das kein Problem sein dürfte, denke ich doch mal
Hier der Code vom Formular:
Public Class StartForm
    Inherits System.Windows.Forms.Form
 
#Region " Windows Form Designer generated code "
 
    Public Sub New()
        MyBase.New()
 
        'This call is required by the Windows Form Designer.
        InitializeComponent()
 
        'Add any initialization after the InitializeComponent() call
 
    End Sub
 
    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
 
    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer
 
    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents lblInfo As System.Windows.Forms.Label
    Friend WithEvents btnLast As System.Windows.Forms.Button
    Friend WithEvents btnNext As System.Windows.Forms.Button
    Friend WithEvents btnPrevious As System.Windows.Forms.Button
    Friend WithEvents txtLastName As System.Windows.Forms.TextBox
    Friend WithEvents label3 As System.Windows.Forms.Label
    Friend WithEvents txtFirstName As System.Windows.Forms.TextBox
    Friend WithEvents label2 As System.Windows.Forms.Label
    Friend WithEvents txtID As System.Windows.Forms.TextBox
    Friend WithEvents label1 As System.Windows.Forms.Label
    Friend WithEvents btnFirst As System.Windows.Forms.Button
    Friend WithEvents lbxDemo As System.Windows.Forms.ListBox
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.lblInfo = New System.Windows.Forms.Label()
        Me.btnLast = New System.Windows.Forms.Button()
        Me.btnNext = New System.Windows.Forms.Button()
        Me.btnPrevious = New System.Windows.Forms.Button()
        Me.txtLastName = New System.Windows.Forms.TextBox()
        Me.label3 = New System.Windows.Forms.Label()
        Me.txtFirstName = New System.Windows.Forms.TextBox()
        Me.label2 = New System.Windows.Forms.Label()
        Me.txtID = New System.Windows.Forms.TextBox()
        Me.label1 = New System.Windows.Forms.Label()
        Me.btnFirst = New System.Windows.Forms.Button()
        Me.lbxDemo = New System.Windows.Forms.ListBox()
        Me.SuspendLayout()
        '
        'lblInfo
        '
        Me.lblInfo.Location = New System.Drawing.Point(8, 136)
        Me.lblInfo.Name = "lblInfo"
        Me.lblInfo.Size = New System.Drawing.Size(360, 23)
        Me.lblInfo.TabIndex = 23
        '
        'btnLast
        '
        Me.btnLast.Font = New System.Drawing.Font("Microsoft Sans Serif", _
          8.25!, System.Drawing.FontStyle.Regular, _
          System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.btnLast.Location = New System.Drawing.Point(224, 160)
        Me.btnLast.Name = "btnLast"
        Me.btnLast.Size = New System.Drawing.Size(66, 23)
        Me.btnLast.TabIndex = 22
        Me.btnLast.Text = "Letzter"
        '
        'btnNext
        '
        Me.btnNext.Font = New System.Drawing.Font("Microsoft Sans Serif", _
          8.25!, System.Drawing.FontStyle.Regular, _
          System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.btnNext.Location = New System.Drawing.Point(152, 160)
        Me.btnNext.Name = "btnNext"
        Me.btnNext.Size = New System.Drawing.Size(66, 23)
        Me.btnNext.TabIndex = 21
        Me.btnNext.Text = "Nächster"
        '
        'btnPrevious
        '
        Me.btnPrevious.Font = New System.Drawing.Font("Microsoft Sans Serif", _
          8.25!, System.Drawing.FontStyle.Regular, _
          System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.btnPrevious.Location = New System.Drawing.Point(80, 160)
        Me.btnPrevious.Name = "btnPrevious"
        Me.btnPrevious.Size = New System.Drawing.Size(66, 23)
        Me.btnPrevious.TabIndex = 20
        Me.btnPrevious.Text = "Vorheriger"
        '
        'txtLastName
        '
        Me.txtLastName.Location = New System.Drawing.Point(240, 56)
        Me.txtLastName.Name = "txtLastName"
        Me.txtLastName.Size = New System.Drawing.Size(136, 20)
        Me.txtLastName.TabIndex = 19
        Me.txtLastName.Text = ""
        '
        'label3
        '
        Me.label3.Location = New System.Drawing.Point(168, 56)
        Me.label3.Name = "label3"
        Me.label3.TabIndex = 18
        Me.label3.Text = "Nachname"
        '
        'txtFirstName
        '
        Me.txtFirstName.Location = New System.Drawing.Point(240, 32)
        Me.txtFirstName.Name = "txtFirstName"
        Me.txtFirstName.Size = New System.Drawing.Size(136, 20)
        Me.txtFirstName.TabIndex = 17
        Me.txtFirstName.Text = ""
        '
        'label2
        '
        Me.label2.Location = New System.Drawing.Point(168, 32)
        Me.label2.Name = "label2"
        Me.label2.TabIndex = 16
        Me.label2.Text = "Vorname"
        '
        'txtID
        '
        Me.txtID.Location = New System.Drawing.Point(240, 8)
        Me.txtID.Name = "txtID"
        Me.txtID.Size = New System.Drawing.Size(136, 20)
        Me.txtID.TabIndex = 15
        Me.txtID.Text = ""
        '
        'label1
        '
        Me.label1.Location = New System.Drawing.Point(168, 8)
        Me.label1.Name = "label1"
        Me.label1.TabIndex = 14
        Me.label1.Text = "ID"
        '
        'btnFirst
        '
        Me.btnFirst.Font = New System.Drawing.Font("Microsoft Sans Serif", _
          8.25!, System.Drawing.FontStyle.Regular, _
          System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.btnFirst.Location = New System.Drawing.Point(8, 160)
        Me.btnFirst.Name = "btnFirst"
        Me.btnFirst.Size = New System.Drawing.Size(66, 23)
        Me.btnFirst.TabIndex = 13
        Me.btnFirst.Text = "Erster"
        '
        'lbxDemo
        '
        Me.lbxDemo.Location = New System.Drawing.Point(8, 8)
        Me.lbxDemo.Name = "lbxDemo"
        Me.lbxDemo.Size = New System.Drawing.Size(152, 121)
        Me.lbxDemo.TabIndex = 12
        '
        'StartForm
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(400, 205)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.lblInfo, _
          Me.btnLast, Me.btnNext, Me.btnPrevious, Me.txtLastName, Me.label3, _
          Me.txtFirstName, Me.label2, Me.txtID, Me.label1, Me.btnFirst, _
          Me.lbxDemo})
        Me.Name = "StartForm"
        Me.Text = "Datenbindung"
        Me.ResumeLayout(False)
 
    End Sub
 
#End Region
 
    ' private Eigenschaft für die Auflistung
    Private persons As ArrayList = New ArrayList()
 
    Private Sub StartForm_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        ' ArrayList erzeugen und mit Personen füllen 
        'HIER KANNST DU DEINE TEXTDATEI EINLESEN UND DANN GRAD ÜBER PERSONS.Add 
        ' EINE NEUE PERSON EINFÜGEN.
        persons = New ArrayList()
        persons.Add(New Person(1, "Zaphod", "Beeblebrox"))
        persons.Add(New Person(2, "Ford", "Prefect"))
        persons.Add(New Person(3, "Tricia", "McMillan"))
        persons.Add(New Person(4, "Arthur", "Dent"))
        persons.Add(New Person(5, "Marvin", ""))
 
        ' Die Auflistung an die Eigenschaft Text 
        ' der Textboxen anbinden 
        If persons.Count > 0 Then
            ' Tipp für die Praxis: Die einfache Datenbindung 
            ' funktioniert nur, wenn auch Daten vorhanden sind 
            txtID.DataBindings.Add("Text", persons, "ID")
            txtFirstName.DataBindings.Add("Text", persons, "FirstName")
            txtLastName.DataBindings.Add("Text", persons, "LastName")
        End If
 
        ' Die Auflistung an die Listbox anbinden 
        lbxDemo.DataSource = persons
 
        ' Die Ereignisbehandlungsmethode für das
        ' PositionChanged-Ereignis des Bindungs-
        ' kontext-Objekts zuweisen 
        AddHandler Me.BindingContext(persons).PositionChanged, _
          AddressOf persons_PositionChanged
    End Sub
 
    ' Ereignisbehandlungsmethode für das 
    ' PositionChanged-Ereignis des Bindungskontext-
    ' Objekts für die Personen-Auflistung
    Private Sub persons_PositionChanged(ByVal sender As Object, _
      ByVal e As System.EventArgs)
        lblInfo.Text = "Datensatz " & _
          (Me.BindingContext(persons).Position + 1) & _
          " von " & Me.BindingContext(persons).Count
    End Sub
 
    Private Sub btnFirst_Click(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) _
      Handles btnFirst.Click
        ' Auf den ersten Datensatz stellen 
        Me.BindingContext(persons).Position = 0
    End Sub
 
    Private Sub btnPrevious_Click(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) _
      Handles btnPrevious.Click
        ' Auf den vorherigen Datensatz stellen, 
        ' wenn die Auflistung nicht schon auf dem
        ' ersten Datensatz steht 
        If Me.BindingContext(persons).Position > 0 Then
            Me.BindingContext(persons).Position -= 1
        End If
    End Sub
 
    Private Sub btnNext_Click(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) _
      Handles btnNext.Click
        ' Auf den nächsten Datensatz stellen, 
        ' wenn die Auflistung nicht schon auf dem
        ' letzten Datensatz steht
        If Me.BindingContext(persons).Position < _
          Me.BindingContext(persons).Count Then
            Me.BindingContext(persons).Position += 1
        End If
    End Sub
 
    Private Sub btnLast_Click(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) _
      Handles btnLast.Click
        ' Auf den letzten Datensatz stellen 
        Me.BindingContext(persons).Position = _
        Me.BindingContext(persons).Count - 1
    End Sub
End Class
Hier ist die Klasse(Name der Klasse: Person):
Falls du es anders brauchst, dann ändere grad deine Klasse, falls du damit Probs hast, dann melde Dich grad noch mal entweder per Mail oder einfach ins Forum schreiben....
Public Class Person
    Private idValue As Integer
    Private firstNameValue As String
    Private lastNameValue As String
 
    ' Der Konstruktor
    Public Sub New(ByVal id As Integer, ByVal firstName As String, _
    ByVal lastName As String)
        Me.idValue = id
        Me.firstNameValue = firstName
        Me.lastNameValue = lastName
    End Sub
 
    ' Zugriffsmethoden für die Eigenschaften
    Public ReadOnly Property ID() As Integer
        Get
            Return Me.idValue
        End Get
    End Property
 
    Public ReadOnly Property FirstName() As String
        Get
            Return Me.firstNameValue
        End Get
    End Property
 
    Public ReadOnly Property LastName() As String
        Get
            Return Me.lastNameValue
        End Get
    End Property
 
    ' Die ToString-Methode 
    Public Overrides Function ToString() As String
        Return Me.FirstName & " " & Me.LastName
    End Function
End Class
Hope it helps
ist denke ich die einfachste Lösung, nach meiner Meinung, ohne viel zu schreiben ..

cya
Gruß
Vampire
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Listbox Frage514yellyjones06.11.02 21:03
Re: Listbox Frage399Vampire66607.11.02 07:42
Re: Listbox Frage331yellyjones07.11.02 08:02
Re: Listbox Frage260yellyjones07.11.02 08:13
Re: Listbox Frage301Vampire66607.11.02 08:15
Re: Listbox Frage313yellyjones07.11.02 08:21
Re: Listbox Frage286Vampire66607.11.02 09:24
Re: Listbox Frage308yellyjones07.11.02 11:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel