Entwickler-Ecke

Basistechnologien - "Checked"-Property mit einer foreach ansteuern.


Namenlosnameless - Mo 07.12.09 20:49
Titel: "Checked"-Property mit einer foreach ansteuern.
Hallo! ich habe folgendes Problem:

Ich habe auf meiner WinForm ca. 20 Checkboxen nun will ich bei einem Click-Event bei allen Checkboxen checked auf false setzen!
Und da es irgendwie mühsam wäre jede Checkbox einzeln anzusteuern will ich das über eine foreach machen:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
foreach (Control cont in Controls)
    {
     if (cont.GetType()==typeof(CheckBox))
          {
                   
          }
    }

soweit bin ich! das Problem ich kann jezt nicht schreiben:

C#-Quelltext
1:
cont.Checked=false                    

das scheint nicht in der IntelliSence auf.

Ich glaube sogar zuwissen wo der Fehler liegt: bei foreach-Control könnte es ja jede art von Control sein darum kann man auch nur alle Properties ansteuern die alle Controls haben!

gibts ne Möglichkeit das ohne zeilen langen Code hinzubekommen???

mfg Namenlosnameless


JüTho - Mo 07.12.09 21:18


C#-Quelltext
1:
2:
3:
if (cont is CheckBox) {
   (cont as CheckBox).Checked = false;
}

Die Abfrage nach dem Typ geht, wie zu sehen ist, einfacher. Dann musst du nur noch das aktuelle Control als eines des gewünschten Typs betrachten (hier: CheckBox) und kannst auf alle CheckBox-Elemente zugreifen.

Gruß Jürgen


Namenlosnameless - Mo 07.12.09 21:21

Cool danke für die schnelle antwort!