如何在表单中打开表单?

cmt*_*kur 13 c# winforms

我有一个父表单,我想在父表单中打开一个子表单.

可以这样做吗?如果是,请回复我的示例代码.

谢谢 !

Dul*_*ttu 14

以下是执行您想要的代码:

假设button1是父表单.

private void button1_Click(object sender, EventArgs e)
        {
            this.IsMdiContainer = true;
            Form Form2 = new Form();
            Form2.MdiParent = this;
            Form2.Show();
        }
Run Code Online (Sandbox Code Playgroud)

此外,以下链接将为您提供有关您要执行的操作的更多详细信息:

http://www.codeproject.com/KB/cs/mdiformstutorial.aspx

希望这可以帮助...


Ebe*_*oux 6

这取决于你在"形式内"的含义.如果您需要将子表单显示为父表单的控件,我猜您可以尝试ParentForm.Controls.Add(new ChildForm()).或者甚至可以通过再次使用包含控件的Controls集合将子表单放在父表单中的现有容器中.

HTH


Bil*_*llW 5

我注意到这里的所有答案都假设OP打算使用MDI Form架构,尽管从未明确说明.

还有另一种方法可以将Form作为另一个Form的'Child':只需将其'TopLevel属性设置为'False,然后将其'Parent属性设置为另一个Form.

Form2 f2 = new Form2();
f2.TopLevel = false;
f2.Parent = someOtherForm;
f2.Show();
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我认为"表单中的表单"的整个概念是一个不好的想法,而且现在,MDI体系结构被MS推荐.

我相信,更好的做法是创建二级表单,如果你必须在表单中有其他容器,请使用UserControls,Panels等.