Havdidi Geschrieben 13. März 2009 Geschrieben 13. März 2009 Guten Tag! Ich möchte gerne mehrere Checkboxen überprüfen, ob die angeklickt werden. Dies wollte ich in einer Schleife realisieren. Hier aus dem Forum hatte ich folgendes: int i = 0; for (i = 1; i <= 10; i++) { this.Controls.Find("Textbox" + Convert.ToString(i), false)[0].Text = "Test"; } Dies hab ich dann auf meinen Fall so abgeändert: int i=0; for (i = 1; i <= 49; i++) { if (this.Controls.Find("checkBox" + Convert.ToString(i), false)[0].Checked == true) { //... } } Leider sagt mir Visual Studio, dass es "Checked" nicht kennt. Ersetzt ich Checked durch Visible funktioniert der Code, aber ich möchte halt gern Prüfen, ob die Checkboxen aktiviert worden sind. Danke schonmal im Vorraus MfG
Guybrush Threepwood Geschrieben 13. März 2009 Geschrieben 13. März 2009 FindControls liefert die nur ein Element vom Typ Control zurück welches kein Check Attribut hat. Du musst das in eine CheckBox casten
Havdidi Geschrieben 13. März 2009 Autor Geschrieben 13. März 2009 Danke für die Schnelle Antwort! Könntest du mir auch sagen wie man das macht ?
Guybrush Threepwood Geschrieben 13. März 2009 Geschrieben 13. März 2009 CheckBox chk = Controls.Find("MyControl",true)[0] as CheckBox; if (chk != null) { ... }[/PHP] Wobei du natürlich eine Exception bekommst wenn er gar kein Control mit der ID findet. Deshalb solltest das auch erstmal prüfen. Schöner wäre es wenn du einfach durch alle Controls des Elements das deine Checkboxen enthält durchiterierst und da prüfst ob es eine Checkbox ist. Also [PHP] foreach (Control ctrl in Parent.Controls) { CheckBox chk = ctrl as CheckBox; if (chk != null) { //Control ist eine CheckBox } }
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden