vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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
Provisorium: Generische Listbox Teil1 
Autor: Manfred X
Datum: 24.03.10 11:20

Hallo!

Einen Tipp habe ich nicht.
Irgendwo gibt's aber bestimmt so ein Steuerelement.

Falls das tatsächlich jemanden interessierten sollte,
hier mein Provisorium als grob getestetes Erbe mit
diversen Schwächen:

Die generischen Methoden und Eigenschaften werden
ohne den "Umweg" über Listbox1.ITEMS.<Methode> aufgerufen,
also z.B.
Listbox1.Add, Listbox1.Remove, Listbox1(Index) = ...

bzw. als Überladung:
Listbox1.SelectedIndex, Listbox1.Contains

oder als vereinfachter Aufruf:
ListBox1.Clear, ListBox1.Count

Und einige Ergänzungen gibts auch:
Listbox1.InsertRange, ListBox1.RemoveAll (für einen Wert)


Hier zunächst der erste Teil .....

Option Strict On : Option Explicit On : Option Infer Off
 
Public Class cListbox(Of T)
    Inherits System.Windows.Forms.ListBox
    ''' <summary>Alle Items löschen</summary>
    Public Sub Clear()
        MyBase.Items.Clear()
    End Sub
 
    ''' <summary>Anzahl der Items (schreibgeschützt)</summary>
    Public ReadOnly Property Count() As Integer
        Get
            Return MyBase.Items.Count
        End Get
    End Property
 
    ''' <summary>Enthält die Listbox ein bestimmtes Item?</summary>
    ''' <param name="value">zu suchendes Item</param>
    ''' <returns>true: Item ist vorhanden</returns>
    Public Overloads Function Contains(ByVal value As T) As Boolean
        Return MyBase.Items.Contains(value)
    End Function
 
    ''' <summary>Gibt den kleinsten Index des Items in der Listbox zurück</summary>
    ''' <param name="value">zu suchendes Item</param>
    ''' <returns>Kleinster Index des Items</returns>
    Public Function IndexOf(ByVal value As T) As Integer
        Return MyBase.Items.IndexOf(value)
    End Function
 
    ''' <summary>Item an die Listbox anhängen</summary>
    ''' <param name="item">anzuhängendes Item</param>
    ''' <returns>Listbox-Index des Items</returns>
    Public Function Add(ByVal item As T) As Integer
        Return MyBase.Items.Add(item)
    End Function
 
    ''' <summary>Anzuhängende Items</summary>
    Public Overloads Sub AddRange(ByVal items() As T)
        For i As Integer = 0 To items.Length - 1
            Me.Add(items(i))
        Next i
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
wer hat eigentlich ...1.693ClipFix23.03.10 14:59
Re: wer hat eigentlich ...1.049ModeratorDaveS23.03.10 15:18
Re: wer hat eigentlich ...1.001ClipFix23.03.10 16:45
Re: wer hat eigentlich ...1.050Manfred X23.03.10 16:57
Re: wer hat eigentlich ... 1.153ModeratorDaveS23.03.10 17:58
Re: wer hat eigentlich ...1.067ClipFix24.03.10 12:03
Re: wer hat eigentlich ...998Manfred X24.03.10 12:31
Re: wer hat eigentlich ...1.045ModeratorDaveS24.03.10 12:58
Re: wer hat eigentlich ...1.015ClipFix24.03.10 16:55
Re: wer hat eigentlich ...1.045Manfred X23.03.10 16:35
Re: wer hat eigentlich ...1.012keco23.03.10 20:36
Provisorium: Generische Listbox Teil11.001Manfred X24.03.10 11:20
Provisorium: Generische Listbox Teil21.129Manfred X24.03.10 11:21
Re: wer hat eigentlich ...1.004Manfred X24.03.10 19:53
Re: wer hat eigentlich ...979ModeratorDaveS24.03.10 21:19
Re: wer hat eigentlich ...953Manfred X24.03.10 21:22
Re: wer hat eigentlich ...954ModeratorDaveS24.03.10 21:26
Re: wer hat eigentlich ...1.085Manfred X24.03.10 21:27

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