c#动态复选框创建
本文关键字:创建 复选框 动态 | 更新日期: 2023-09-27 18:10:34
我试图在for循环中创建动态复选框。但我得到的错误不是在编译,但当我运行创建复选框按钮和运行该函数。你能告诉我我做错了什么吗?
public void CreateCheckBox (int i)
{
int y = 10;
CheckBox[] _cb = new CheckBox[i];
String chkBox = "chkBox_";
for (int n = 0; n<i; n++)
{
_cb[n].Location = new Point(10, y);
_cb[n].Name= chkBox + n.ToString();
form1.Controls.Add(_cb[n]);
y+= 15;
}
}
在循环中,您必须创建一个checkbox的新实例。
for (int n = 0; n<i; n++)
{
_cb[n] = new CheckBox();
_cb[n].Location = new Point(10, y);
_cb[n].Name= chkBox + n.ToString();
form1.Controls.Add(_cb[n]);
y+= 15;
}
定义Checkboxes
中的Array
时,数组内的对象初始化为null
。您需要使用new Checkbox()
创建Checkbox的实例。
在我看来,您不需要将它们保存到Checkbox[]
中,因为表单管理控件集合。所以,这个代码片段可能更容易读:
public void CreateCheckBox (int max)
{
String name = "chkBox_";
int y = 10;
for (int i = 0; n < max; i++)
{
Checkbox current = new Checkbox();
current.Location = new Point(10, y);
current.Name= name + i.ToString();
form1.Controls.Add(current);
y+= 15;
}
}