使用变量访问复选框

时间:2018-03-03 12:33:23

标签: c# winforms

我之前已经问过这个问题但是对于VB.NET:

Accessing buttons names using variables

现在我想在C#和CheckBoxes中做同样的事情,例如,如果我有31个标有&#34的复选框; CheckBox1 ... CheckBox31"我能做到:

for (int i = 0; i < 10; i++)
{
    (CheckBox + i).Enabled = false;
}

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

尝试以下

 for (int i = 0; i < 10; i++)
 {
    ((CheckBox)this.Controls[$"CheckBox{i}"]).Enabled = false;
 }

答案 1 :(得分:0)

您可以尝试创建List<CheckBox>或所有复选框的数组:

for (int i = 0; i < checkbox_array.Length; i++) {
    checkbox_array[i].Enabled = false;
}

编辑:我可能会有点迟到,但如果你把所有CheckBoxes放在GroupBox中(如果你有 soo,我真的建议这样做/ em>许多复选框),您可以循环播放该组框中的所有控件,如下所示:

foreach (CheckBox cbx in gbxCheckBoxes.Controls) {
    cbx.Enabled = true;
}

或者像这样:(如果你只需要启用它们)

gbxCheckBoxes.Enabled = false;

gbxCheckBoxes是我正在谈论的GroupBox