在表单内创建表单
我是Visual Studio 2010的新手,我打算创建一个计时系统。 我只是想问一下如何创建一个组成2个表单的表单。 例如,如果我单击一个按钮,它将在表单中打开一个新表单。 请帮忙。 谢谢
您必须使用MDI (Multiple Document Interface)
,请参阅本文可能有所帮助。
Form formA = new Form(); formA.IsMdiContainer = true; Form formB = new Form(); formB.MdiParent = formA; formB.Show();
您可以创建自定义表单,删除所有边框和工具栏,使其尽可能贴近面板。 然后将新的自定义表单作为MdiContainer / MDI面板并在该面板中显示表单,类似下面的代码将完成工作
Mdi-Panel定义:
公共类MdiClientPanel:Panel {private Form mdiForm; private MdiClient ctlClient = new MdiClient();
public MdiClientPanel() { base.Controls.Add(this.ctlClient); } public Form MdiForm { get { if (this.mdiForm == null) { this.mdiForm = new Form(); /// set the hidden ctlClient field which is used to determine if the form is an MDI form System.Reflection.FieldInfo field = typeof(Form).GetField("ctlClient", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); field.SetValue(this.mdiForm, this.ctlClient); } return this.mdiForm; } }
}
用法:
/// mdiChildForm is the form that should be showed in the panel /// mdiClientPanel is an instance of the MdiClientPanel myMdiChildForm.MdiParent = mdiClientPanel1.MdiForm;
我想,这是一个非常简单的方法:
Form1 form= new Form1 (); form.TopLevel = false; this.Controls.Add(form); form.Show();
也许MDI界面会做你想要的……
这是一个教程。