vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Controls · ComboBox   |   VB-Versionen: VB5, VB617.01.03
Combo-/ListBox-Einträge schnell hinzufügen

Dieses Beispiel zeigt, wie man einer Combo-/ListBox zukünftig mit nur einer Codezeile mehrere Einträge auf einmal hinzufügt.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  19.850 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10kein Beispielprojekt 

Nervt es Sie auch manchmal, immer wieder folgende Code-Anweisungen verwenden zu müssen, um eine Combo-/ bzw. ListBox mit Einträgen zu füllen?

' ComboBox füllen
With Combo1
  .AddItem "An"
  .AddItem "An das"
  .AddItem "An den"
  .AddItem "Frau"
  .AddItem "Firma"
  .AddItem "Herr"
End With

Solange es sich nur um ein paar Einträge handelt, wäre das ja noch nicht so schlimm. Sollen aber viele Enträge hinzugefügt werden, kann das ewige AddItem schon richtig lästig werden

Deshalb folgende Überlegung: Wie wäre es, wenn man zum Füllen der Combo-/ListBox eine Prozedur aufruft, der man alle Einträge als Parameter übergibt. Keine schlechte Idee Aber wie? Es sollen ja beliebig viele Parameter sein! Ein Array? Nein! Denn das Array müsste ja vorher erst deklariert und mit den entsprechenden Elementen gefüllt werden. Also wieder keine "Arbeitserleichterung".

Aber wozu gibt es denn das Schlüsselwort ParamArray? Genau! ParamArray legt fest, dass es sich bei dem Parameter einer Prozedur um ein Variant-Datenfeld handelt! Also genau das, was wir brauchen

Das ganze sieht dann wie folgt aus:

' Combo/ListBox mit beliebigen
' Werten füllen
Public Sub ListBox_FillArray(oControl As Control, _ 
  ParamArray vItems() As Variant) 
 
  If IsArray(vItems) Then 
    Dim vItem As Variant 
    For Each vItem In vItems 
      oControl.AddItem vItem 
    Next 
  End If 
End Sub

Aufruf:

' Bsp.: ComboBox füllen
ListBox_FillArray Combo1, "Herr", "Frau", "Firma
' Bsp.: ListBox füllen
ListBox_FillArray List1, 1, 2, 3, 4, 5, 6, 7, 8

Sie sehen schon: Der Prozedur ist es egal, ob Sie ihr String-Parameter oder Integer-Parameter übergeben
 

Dieser Tipp wurde bereits 19.850 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2019 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