获取表单面板中动态生成的复选框的值 - Windows 应用程序 C#
本文关键字:复选框 Windows 应用程序 表单 动态 获取 | 更新日期: 2023-09-27 18:37:09
我在单击button
时动态生成Checkboxes
,我正在将其添加到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
}
}
如何获取切克盒状态?
您正在查找窗体控件而不是在 tableLayoutPanel1 中查找
像这样更改代码
for (int i = 0; i >= count; i++)
{
CheckBox cb = tableLayoutPanel1.Controls["cb_" + i] as CheckBox;
if (cb.Checked)
{
//Add code
}
}
将循环更改为:
foreach(Control c in panel1.Controls)
{
CheckBox cb = c as CheckBox;
if (cb!=null)
{
if (cb.Checked)
{
//Add code
}
}
}