如何在C#中动态地将UserControl添加到表单

时间:2018-05-29 14:15:45

标签: c#

我是C#的新手。 我有Form1Form2以及UserControl1。我想动态地将UserControl1添加到Form2并使用Form2显示ShowDialog,但Form2显示为空。我知道我可以使用UserControl1构造函数将Form2添加到Form2,但我希望从Form1开始。

任何人都知道怎么做?

此代码位于Form1:

UserControl1 _UserControl1 = new UserControl1();

using (Form2 _Form2= new Form2 ())
 {

 _Form2.Controls.Add(_UserControl1);

 _Form2.ShowDialog();
  // Form2 is shown empty
 }

1 个答案:

答案 0 :(得分:0)

在运行时创建控件时,请确保新控件具有所有必需的属性设置。 位置尺寸很重要,控件可能会从表单中删除,或者很小。

此外,请确保控件未被其他控件隐藏。确保可见属性设置为true,并且在为控件指定的区域中没有面板或其他控件。

如果表单上有其他控件,您可以尝试使用 _Form2.Controls.SetChildIndex(_UserControl,0)设置控件的z-index; 或者,如果控件打算打开在面板中,将控件添加到面板的Controls集合中。