使用变量控制C#复选框

时间:2015-02-05 19:47:36

标签: c# checkbox

我有这段代码:

// code above
 checkBox1.Checked = false;
 checkBox2.Checked = false;
 checkBox3.Checked = false;
 checkBox4.Checked = false;
 checkBox5.Checked = false;
 checkBox6.Checked = false;
 checkBox7.Checked = false;
 checkBox8.Checked = false;
 checkBox9.Checked = false;
//code below

我有320个复选框来设置清除/错误。
如何控制checkBox(变量)?
我想做以下事情:

for (int counter=1; counter<321; counter++)
{
 checkBox***Put counter Variable Here***.Checked = false;
}

3 个答案:

答案 0 :(得分:4)

如果所有复选框都是增量的,那么您可以使用Control.ControlCollection.Find方法。

for (int counter=1; counter<321; counter++)
{
   var ctrl = this.Controls.Find("checkbox" + counter, true).FirstOrDefault() as CheckBox;
   if (ctrl != null)
   {
      ctrl.Checked = false;
   }
}

如果您只想设置每个复选框,请过滤Controls集合:

var checkBoxes = this.Controls.OfType<CheckBox>();
foreach (CheckBox cbx in checkBoxes)
{
    cbx.Checked = false;
}

答案 1 :(得分:3)

您可以遍历表单上的所有控件并检查复选框。

foreach (Control ctrl in Controls)
{
    if (ctrl is CheckBox)
    {
        ((CheckBox)ctrl).Checked = false;
    }
}

答案 2 :(得分:2)

void SetAllCheckBoxesState(Boolean isChecked) {

    foreach(Control c in this.Controls) {

        CheckBox cb = c as CheckBox;
        if( cb != null ) cb.Checked = isChecked;
    }
}