controls abfragen
-
moinsn, ich schon wieder
folgende frage:
habe fenster mit 10 checkboxen drauf, und möchte nun mittels einer schleife wissen, welches gechecked ist. hier der code
CheckBox ctrl = new CheckBox(); for( i = 1; i <= 10; i++ ) { string cName = "checkBox"; cName += i.ToString(); ((CheckBox)ctrl).Name = cName; if( ((CheckBox)ctrl).Checked ) { oBuffer += "Att_IO_Ebenen=" + ((CheckBox)ctrl).Text; } }
das es eine checkbox ist wird zwar erkannt( er meckert nicht bei 'Checked' ), aber sonst steht z.b. in 'Text' der name des fensters.
wo ist der fehler?
thx schonmal
-
Hi,
wenn ich dich richtig verstehe willst du lediglich wissen welche deiner CheckBoxen gecheckt wurden - dann lass sie sich doch in eine Arrayliste ein bzw. austragen und überprüfe diese :
public ArrayList aChecked = new ArrayList(); ... // Kann gleich für alle 10 oder x Boxen genutzt werden private void checkBox_CheckedChanged(object sender, System.EventArgs e) { CheckBox oCallerBox = (CheckBox) sender; if(oCallerBox.Checked) aChecked.Add(oCallerBox); else aChecked.Remove(oCallerBox); } private void button1_Click(object sender, System.EventArgs e) { // Test ob checkBox 1 gecheckeed ist if(-1 != aChecked.IndexOf(checkBox1)) { MessageBox.Show("checkBox1 is Checked"); } // Alle Namen ausgeben foreach(CheckBox oThisBox in aChecked) { MessageBox.Show(oThisBox.Name); } }
-
jep, das wars
BIG thx