我正在Checkboxes
点击动态生成button
我将添加到TableLayoutPanel
中的面板。
Panel panel1=new panel();
CheckBox box = new CheckBox();
box.Name = "cb_" + count;
box.AutoSize = true;
panel1.Controls.Add(box);
tableLayoutPanel1.Controls.Add(panel1);
count++;
我需要检查是否在“保存”按钮单击上选中了这些复选框。但是当我尝试检索Checkbox
时,它返回null。 (但如果我将复选框直接添加到表单而不是TablelayoutPanel
,我就可以检索它。)
for (int i = 0; i >= count; i++)
{
CheckBox cb = this.Controls["cb_" + i] as CheckBox;// Returns Null
if (cb.Checked)
{
//Add code
}
}
如何获得checbox状态?
答案 0 :(得分:1)
您正在查看表单控件而不是tableLayoutPanel1
像这样更改代码
for (int i = 0; i >= count; i++)
{
CheckBox cb = tableLayoutPanel1.Controls["cb_" + i] as CheckBox;
if (cb.Checked)
{
//Add code
}
}
答案 1 :(得分:0)
将循环更改为:
foreach(Control c in panel1.Controls)
{
CheckBox cb = c as CheckBox;
if (cb!=null)
{
if (cb.Checked)
{
//Add code
}
}
}