我是C#的新手。
我有Form1
和Form2
以及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
}
答案 0 :(得分:0)
在运行时创建控件时,请确保新控件具有所有必需的属性设置。 位置和尺寸很重要,控件可能会从表单中删除,或者很小。
此外,请确保控件未被其他控件隐藏。确保可见属性设置为true,并且在为控件指定的区域中没有面板或其他控件。
如果表单上有其他控件,您可以尝试使用 _Form2.Controls.SetChildIndex(_UserControl,0)设置控件的z-index; 或者,如果控件打算打开在面板中,将控件添加到面板的Controls集合中。