如何在表单中打开表单?

| 我有一个父窗体,我想在父窗体中打开一个子窗体。 能做到吗?如果是,请提供示例代码给我。 谢谢 !     
已邀请:
        以下是执行所需操作的代码: 假定button1在父窗体中。
private void button1_Click(object sender, EventArgs e)
        {
            this.IsMdiContainer = true;
            Form Form2 = new Form();
            Form2.MdiParent = this;
            Form2.Show();
        }
另外,以下链接将为您提供您想要做的事情的更多详细信息: http://www.codeproject.com/KB/cs/mdiformstutorial.aspx 希望这可以帮助...     
        这取决于您“在表格中”的意思。如果您需要将子窗体显示为父窗体的控件,我想您可以试试
ParentForm.Controls.Add(new ChildForm())
。或者甚至可以通过再次使用包含控件的
Controls
集合将子窗体放在父窗体的现有容器中。 高温超导     
        我注意到这里所有的答案都假定OP打算使用MDI Form体系结构,尽管从未明确指出。 还有另一种方法可以使一个Form成为另一个Form的\'Child \':将其\'TopLevel属性设置为\'False,然后将其\'Parent属性设置为另一个Form。
Form2 f2 = new Form2();
f2.TopLevel = false;
f2.Parent = someOtherForm;
f2.Show();
顺便说一句,我认为“'Forms in Forms \'的整个想法是一个糟糕的想法,而MDI体系结构现在已经被MS弃用了。 我认为,更好的方法是创建辅助表单,并且,如果必须在表单中包含其他容器,请使用UserControls,Panels等。     
        通知子表单其MdiParent是当前表单。 MDI:
 form2 frm = new form2 ();
    frm.MdiParent = this;
    frm.Show();
    
        模态对话框:
var form = new Form1();
form.Parent = this;
form.ShowDialog();
MDI子:
var newMDIChild = new Form1();
newMDIChild.MdiParent = this;
newMDIChild.Show();
    
        
Form child = new Form();
child.MdiParent = this;
child.Show();
将这些代码行以父形式编写并检查。     
        
var childform = new  form2();
childform.TopLevel=false;
this.Controls.add(childform);
childform.Show();
这对我有用。     

要回复问题请先登录注册