Benutzer mit den meisten Antworten
String zu Button

Frage
-
Hallo,
ich habe in einem String den Namen eines Button (z.B. "btnMulti0" bis btnMulti17) .
Nun möchte ich auf den entsprechenden Button zugreifen.
Folgendes habe ich versucht:
btnName = "btnMulti" + i.ToString();
btn = (Button)btnName;btnName ist vom Typ String und btn vom Typ Button.
Leider bekomme ich die Meldung "Eine Konvertierung vom Typ "string" in "System.Windows.Forms.Button" ist nicht möglich."
Wie mache ich es richtig?
Bin für jeden Tipp dankbar.
Gruß
Dirk
Antworten
-
Hallo,
magisch wird aus einet Zeichenkette kein Button (Steuerelement).
Da musst Du schon die Controls-Auflistung des jeweiligen Containers (z. B. die Form) durchsuchen.
Dann kannst Du dafür ControlCollection.FindControl verwenden:private Button FindButtonByIndex(int buttonIndex) { string buttonName = "btnMulti" + buttonIndex.ToString(); var controls = this.Controls.Find(buttonName, false); // oder true, wenn in einem ContainerControl if (controls.Length == 1) return controls[0] as Button; return null; }
Gruß Elmar- Als Antwort markiert dikima Donnerstag, 28. Juli 2011 21:54
Alle Antworten
-
Hallo,
magisch wird aus einet Zeichenkette kein Button (Steuerelement).
Da musst Du schon die Controls-Auflistung des jeweiligen Containers (z. B. die Form) durchsuchen.
Dann kannst Du dafür ControlCollection.FindControl verwenden:private Button FindButtonByIndex(int buttonIndex) { string buttonName = "btnMulti" + buttonIndex.ToString(); var controls = this.Controls.Find(buttonName, false); // oder true, wenn in einem ContainerControl if (controls.Length == 1) return controls[0] as Button; return null; }
Gruß Elmar- Als Antwort markiert dikima Donnerstag, 28. Juli 2011 21:54