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 Zitieren
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 Zitieren
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 ? Zitieren
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 } } Zitieren
Havdidi Geschrieben 13. März 2009 Autor Geschrieben 13. März 2009 Super!! Danke es klappt endlich :) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.