[VB.Net] Variablen und Platzhalter

Xenolith

Mitglied
Hallo,
Es geht sich darum das ich einige Buttons habe die

cmd1
cmd2
cmd3
...
cmd99
cmd100

bennant sind. Jetzt möchte ich die Backcolor der je nach Ergebniss einer Rechnung ändern dh. wenn bei der Rechnung 1 rauskommt möchte ich gerne das der Button cmd1 seine farbe ändert das mach ich ja mit:
Code:
cmd1.BackColor = Color.Red
aber kann ich das auch so machen das ich die 1 durch eine Variable ersetzte? also so:
Code:
cmd[Variable].BackColor = Color.Red
so geht das natürlich nicht aber gibt es da eine anderere Möglichkeit?

Danke für eure Hilfe
Gruß Xenolith
 
Hi Xenolith,

da gibt's sogar mehrere Möglichkeiten. Die eine hast du quasi selbst gepostet: du speicherst die Buttons in einem Array und greift dann per Index darauf zu.
Ein andere Möglichkeit ist es, sich die Name-Eigenschaft zu Nutze zu machen. Die Controls-Auflistung einer Windows Form bietet auch die Unterstützung, ein untergeordnetes Steuerelement per Name anzusprechen, z.B.

Code:
Me.Controls("cmd1").BackColor = Color.Red

So kannst du dir jeweils den richtigen String zusammenbasteln.

Ich hoffe, dass es dir hilft!

Gruß
PhoenixLoe
 
Zuletzt bearbeitet:
Erstmal danke für den Tipp:

aber sowohl die variante mit den Array als auch deine variante bekomm ich nicht zum laufen:

Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
sagt mir der Compiler...
Code:
 Me.Controls("comandbutton" & variable).BackColor = Color.Red

Die Variable endhält einen Bytewert also eine Zahl zwischen 0 und 255 allerdings funktioniert das ganze nicht wie ich mir das vorstelle:mad:

:google:hilft auch nicht:)

aber schöne smilies haben die hier;-)

trotzdem schonmal danke für eure Hilfe
gruß XenoLith
 
Zurück