Die Community zu .NET und Classic VB.
Menü

Tipp-Upload: VB.NET 0178: ListboxItem

 von 

Hinweis zum Tippvorschlag  

Dieser Vorschlag wurde noch nicht auf Sinn und Inhalt überprüft und die Zip-Datei wurde noch nicht auf schädlichen Inhalt hin untersucht.
Bitte haben Sie ein wenig Geduld, bis die Freigabe erfolgt.

Über den Tipp  

Dieser Tippvorschlag ist noch unbewertet.

Der Vorschlag ist in den folgenden Kategorien zu finden:

  • Listensteuerelemente

Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
Listbox, ComboBox, Item

Der Vorschlag wurde erstellt am: 15.01.2008 15:24.
Die letzte Aktualisierung erfolgte am 15.01.2008 15:25.

Zurück zur Übersicht

Beschreibung  

Klasse Listbox- oder ComboboxItem mit Text und Daten

Schwierigkeitsgrad

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

Download:

Download des Beispielprojektes [11,20 KB]

' Dieser Source stammt von http://www.activevb.de
' und kann frei verwendet werden. Für eventuelle Schäden
' wird nicht gehaftet.

' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
' Ansonsten viel Spaß und Erfolg mit diesem Source!
'
' Beachten Sie, das vom Designer generierter Code hier ausgeblendet wird.
' In den Zip-Dateien ist er jedoch zu finden.

' -------- Anfang Projektdatei ListboxItemDemo.vbproj --------
' ---------------- Anfang Datei clsAdress.vb  ----------------

''' <summary>
''' Adresse verwalten
''' </summary>
''' <remarks></remarks>
Public Class Adress

    Private m_Name As String
    Private m_Vorname As String
    Private m_Plz As String
    Private m_Ort As String

    Public Sub New()

    End Sub

    Public Sub New(ByVal mName As String, _
                       Optional ByVal mVorname As String = Nothing, _
                       Optional ByVal mPlz As String = Nothing, _
                       Optional ByVal mOrt As String = Nothing)

        m_Name = mName
        m_Vorname = mVorname
        m_Plz = mPlz
        m_Ort = mOrt

    End Sub

    Public Property Name() As String
        Get
            Return m_Name

        End Get

        Set(ByVal value As String)
            m_Name = value

        End Set

    End Property

    Public Property Vorname() As String
        Get
            Return m_Vorname

        End Get

        Set(ByVal value As String)
            m_Vorname = value

        End Set

    End Property

    Public Property Plz() As String
        Get
            Return m_Plz

        End Get

        Set(ByVal value As String)
            m_Plz = value

        End Set

    End Property

    Public Property Ort() As String
        Get
            Return m_Ort

        End Get

        Set(ByVal value As String)
            m_Ort = value

        End Set

    End Property

End Class

' ----------------- Ende Datei clsAdress.vb  -----------------
' -------------- Anfang Datei clsListboxItem.vb --------------
''' <summary>
''' beschreibt ein ListboxItem mit Text und DataObject
''' </summary>
''' <remarks></remarks>
Public Class ListboxItem

    Private m_Text As String
    Private m_Data As Object

    ''' <summary>
    ''' liefert oder legt fest den Text des Items
    ''' </summary>
    Public Property Text() As String
        Get
            Text = m_Text

        End Get

        Set(ByVal value As String)
            m_Text = value

        End Set

    End Property

    ''' <summary>
    ''' liefert oder legt fest das DataObject des Items
    ''' </summary>
    Public Property Data() As Object
        Get
            Data = m_Data

        End Get

        Set(ByVal value As Object)
            m_Data = value

        End Set

    End Property

    ''' <summary>
    ''' liefert den Text des Items
    ''' </summary>
    Public Overrides Function ToString() As String

        Return m_Text

    End Function

    Public Sub New()

    End Sub

    Public Sub New(ByVal mText As String)

        m_Text = mText

    End Sub

    Public Sub New(ByVal mText As String, ByVal mData As Object)

        m_Text = mText
        m_Data = mData

    End Sub

End Class

' --------------- Ende Datei clsListboxItem.vb ---------------
' ------------------ Anfang Datei Form1.vb  ------------------
''' <summary>
''' Form1 mit Listbox1, Checkbox1, Label1, Label2
''' </summary>
''' <remarks></remarks>
Public Class Form1

    Private AdressList As New List(Of Adress)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Load

        ' ein paar Adressen anlegen
        AdressList.Add(New Adress("Meier", "Georg", "80000", "München"))
        AdressList.Add(New Adress("Schuster", "Willi", "70000", "Stuttgart"))
        AdressList.Add(New Adress("Bauer", "Alfred", "20000", "Hamburg"))

        For i As Integer = 0 To AdressList.Count - 1

            Dim Ad As Adress = AdressList(i)

            ListBox1.Items.Add(New ListboxItem(Ad.Name & ", " & Ad.Vorname, Ad))
            ComboBox1.Items.Add(New ListboxItem(Ad.Name & ", " & Ad.Vorname, Ad))
        Next

    End Sub

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As _
        System.EventArgs) Handles ListBox1.SelectedIndexChanged

        Dim Li As ListboxItem = ListBox1.SelectedItem
        Dim Ad As Adress = Li.Data

        Label1.Text = Ad.Plz & " " & Ad.Ort

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As _
        System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim Li As ListboxItem = ComboBox1.SelectedItem
        Dim Ad As Adress = Li.Data

        Label2.Text = Ad.Plz & " " & Ad.Ort

    End Sub

End Class

' ------------------- Ende Datei Form1.vb  -------------------
' --------- Ende Projektdatei ListboxItemDemo.vbproj ---------

	

Diskussion  

Diese Funktion ermöglicht es, Fragen, die die Veröffentlichung des Tipps betreffen, zu klären, oder Anregungen und Verbesserungsvorschläge einzubringen. Nach der Veröffentlichung des Tipps werden diese Beiträge nicht weiter verlinkt. Allgemeine Fragen zum Inhalt sollten daher hier nicht geklärt werden.

Um eine Diskussion eröffnen zu können, müssen sie angemeldet sein.