一般在一个Form的controls里面Add一个Form对象,会提示"Top-level control cannot be added to a control.",要解决这个问题很简单,只要将被添加的Form的TopLevel属性设置为False即可解决.
private void Form1_Load(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.TopLevel = false;
this.panel1.Controls.Add(f2);
f2.Show();
}
{
Form2 f2 = new Form2();
f2.TopLevel = false;
this.panel1.Controls.Add(f2);
f2.Show();
}
上边代码就可以实现将Form2添加到Form1窗体的Panel控件里面.好好利用Controls的Add和RemoveAt,就可以轻松实现一个主窗体切换不同界面实现程序功能.
(当然,用Usercontrol也能实现相同的需求,看各人所好.)