Label-Array in VB2009 erstellen

Hallo,

ich möchte in VB2008 in einer Form ein Label-Array erstellen.

In VB6 konnte ich das einfach machen mit

lblName(0).caption = …
lblName(1).caption = …
lblName(2).caption = … über Index

Jetzt in VB2008 finde ich das aber nicht.

Wie geht das ???

Danke!

Gruß Hubert

Hallo, Hubert

ich möchte in VB2008 in einer Form ein Label-Array
erstellen.

Mir wurde versichert, das es keine Steuerelementefelder mehr gibt.

Mit dem folgenden Code kannst Du so etwas ähnliches machen

Dim tmpItem 'in den Deklarationsbereich des Formulares

For Me.tmpItem = 0 To 10
 Dim NewLabel As New Label
 With NewLabel
 .Name = "Label" & tmpItem
 .Text = "Label" & tmpItem
 .AutoSize = True
 .Left = 150 + 20 \* tmpItem
 .Top = 150 + 20 \* tmpItem
 .Parent = Me
 'weitere Eigenschaften festlegen
 'eventuell einen oder mehrere AddHandler hinzufügen
 End With
Next

Nun kommt es natürlich noch darauf an, was Du mit den Labels machen willst. Wenn sie auf einen Mausklick reagieren sollen und dann wie bei einem Steuerelementefeld immer die gleiche Prozedur aufgerufen werden soll, dann mußt Du mit „AddHandler“ diese Prozedur „zuordnen“.

Das Ganze hilft Dir natürlich auch nur dann, wenn Du die Labels dynamisch zur Laufzeit erstellst. Wenn Du eigentlich eine feste Anzahl Labels hast, die Du dem Formular zur Entwurfszeit hinzufügst, kann ich Dir nicht richtig weiterhelfen, denn ich stehe auch noch ganz am Anfang von VB2008.

VG
Carsten

Sorry, die ForNext-Schleife kann dann ins FormLoad-Ereignis.

VG
Carsten

Probiers ma so:

Dim labels As New List (Of Label)

label(0).Text = "Foo"
label(1).Text = "Bar"

oder so ähnlich. Hab das jedenfalls schon ma mit dem List (Of Label) gemacht, probier einfach ma 'n bissl damit rum :wink:

Danke, ich habe mir temporär geholfen. Bei Gelegenheit muß ich das dann mal ausprobieren.

Gruß czbdzm