Button-Name durch Variable ersetzen
-
Servus,
in meinem kleinen Programm (VC++ Express, Windows-Forms) sollen verschiedene Radio-Buttons den Status von in einem Array gespeicherten Daten wiedergeben. Wenn z.B. Array[0] = 1 ist, soll der erste Button aktiv sein. Das ist ja mit einer "if" Bedingung und dem Befehl
RadioButton1->Checked = true;
locker zu bewerkstelligen. Nun habe ich das Problem, dass es in der höchsten Ausbaustufe des Programms ca. 300 RadioButtons (oder andere Bedienelemente) geben wird, die angesprochen werden sollen. Ich würde also gerne automatisch das Array auslesen und dann automatisch jedem Button seinen Wert zuweisen. In Pseudocode gesprochen:
RadioButton[1-300]->Checked = true/false (je nach dem)
Gibt es eine Möglichkeit den Namen des Radio-Buttons durch eine Variable (z.B. String) zu ersetzen? In PHP geht das relativ einfach durch Verkettung der Variablen mit einem . davor. Irgendwas in der Art suche ich für VC++. Möglich auch, dass eine ganz andere Art der Wertzuweisung stattfinden muss. Ich komme bloß gerade nicht drauf welche.
Vielleicht kann jemand helfen oder sachdienliche Hinweise geben?
Vielen Dank schonmal,
Claudio
P.S.: Die Buttons sind vorher im Designer generiert worden. Es handelt sich also nicht um zur Laufzeit erstellte automatische Buttons. Während der Laufzeit soll lediglich der Status der Buttons automatisch überprüft, bzw. anders gesetzt werden.
-
Über Reflection kannst Du das natürlich auch mit einem String machen. Würde ich aber davon abraten.
Erzeuge doch die "CheckBox" Elemente auch im COde und nicht im Designer, dann kannst Du diese in einem Array erzeugen.
-
Danke für den Tipp! Vielleicht ist die Erzeugung im Code tatsächlich die bessere Variante. Werde mal schauen wie sich das machen lässt.