动态添加的控件不会显示在我的表单上

时间:2011-10-11 14:56:57

标签: c# .net winforms

我动态地将控件添加到我的表单上,但我看不到这些新控件。

我的代码是:

frmFormulario myform = new frmFormulario();

for (int i = 0; i < elements.Count; i++)
{
   String nm = elements[i].name;
   String chk = "chk"+nm;
   CheckBox checkboxWS = new CheckBox();
   checkboxWS.Name = chk;
   checkboxWS.Checked = true;
   checkboxWS.Visible = true;

   checkboxWS.Width.Equals(40);


   myform.Controls.Add(checkboxWS);
   myform.Controls.SetChildIndex(checkboxWS, 0);
}

有人能发现问题吗?

由于

我的环境是C#Visual Studio 2010

3 个答案:

答案 0 :(得分:1)

您正在循环内部和控件中创建新表单。一旦完成循环,它就会超出范围。我确定你不想这样做,而是将它们添加到现有表格中。

答案 1 :(得分:1)

尝试添加

myform.Show();  //or myform.ShowDialog;
在for循环之后

。如果你想完全处理这个新窗口(myform)并丢弃前者或父窗口,那么尝试在新线程中创建它。

希望它有所帮助。

答案 2 :(得分:0)

你在哪里展示myform,frmFormulario的实例?
目前您正在创建新表单,但不显示它。