动态添加复选框到Windows窗体只显示一个复选框

时间:2013-02-21 14:56:48

标签: c# winforms checkbox

如果这看起来很糟糕,我很抱歉,但我现在已经搜索了几天了。我试图动态添加复选框到窗体;但是,表单上只显示一个复选框。这是我的代码:

for (int i = 0; i < 10; i++)
{
    box = new CheckBox();
    box.Tag = i.ToString();
    box.Text = "a";
    box.AutoSize = true;
    box.Location = new Point(10, i + 10);
    Main.Controls.Add(box);
}

正如您所看到的,我通过for循环添加了复选框。我已经尝试搞乱该位置并启用自动调整大小以防它们以某种方式重叠。结果是一个带有文本“a”的复选框。

3 个答案:

答案 0 :(得分:17)

实际上你已经创建了一个CheckBox,但在同一点上。

CheckBox box;
for (int i = 0; i < 10; i++)
{
    box = new CheckBox();
    box.Tag = i.ToString();
    box.Text = "a";
    box.AutoSize = true;
    box.Location = new Point(10, i * 50); //vertical
    //box.Location = new Point(i * 50, 10); //horizontal
    this.Controls.Add(box);
}

答案 1 :(得分:0)

在这种情况下,在动态分配Name属性的帮助下,如何获取checkbox.checked属性,在其他一些操作中,如提交按钮。如何检查所有复选框并在循环中创建?

答案 2 :(得分:0)

如果您的每个按钮都有一个实例,您可以使用按钮或事件制作类似

的内容
 CheckBox myCheckedBox = (CheckBox)sender;