我可以按ID选择复选框吗?

时间:2018-05-16 17:16:11

标签: c# winforms checkbox

我想选中复选框 不是通过设计名称而是通过参数。更具体地说,我想 选中具有参数的复选框,这些参数也在数据中 从数据库中检索。

示例代码:

(checkBox) C1.checked = true;

这就是我现在可以设置检查的方式,

但我想做点什么......

string[] datas = db.getData();
foreach (string data in datas) 
{
    if (data.Equals("C1")) 
    {
        C1.checked = true;
    }
}

当然,我可以为每个复选框执行此操作, 但有超过50个复选框,我认为这是愚蠢的 要手动检查这个,但我找不到根据名称选择特定复选框的方法。

此外,如果有人知道对文本框进行分组的方法,那将会非常有用, 这样我每次都不必遍历每个复选框。通过这种方式,我的意思是像一组复选框中的包含方法来找到特定的一个。

2 个答案:

答案 0 :(得分:1)

您的主要目标似乎是找到:

  

一种对文本框进行分组的方法,这样我就不必遍历每个文本框   每次都有复选框。

您可以创建字符串/复选框字典,然后选择该复选框。

之类

style={[this.state.yourstate ? styles.selectedButtonStyle : styles.normalButtonStyle]}

答案 1 :(得分:0)

你可以这样做使用FindControl:

string[] datas = db.getData();
foreach (string data in datas) 
{
    CheckBox chk = this.Controls.Find(data, true).FirstOrDefault() as CheckBox;
   if(chk !=null)
       chk.Checked = true;
}