使用变量控制 C# 复选框

Control C# checkbox using variable

我有这个代码:

// 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 个复选框要设置 cleared/false。
如何控制复选框(变量)?
我想做以下事情:

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

如果所有复选框都是递增的,那么您可以使用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;
   }
}

如果您只想设置每个复选框,则过滤控件集合:

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

您可以遍历窗体上的所有控件并选中复选框。

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

    foreach(Control c in this.Controls) {

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