在父表单中打开表单 - 在c#中不作为单独的屏幕

时间:2013-08-25 13:11:07

标签: c# winforms

我有一个带有按钮的父表单,当我在按钮的click事件中时,我想打开一个新表单。

Form2 form2= new Form2();
form2.Show();

但是,form2作为一个单独的进程打开。我希望在父表单中打开表单。

用Google搜索时,我发现MDI已被弃用。那么请你建议我一个好方法吗?

2 个答案:

答案 0 :(得分:3)

  

用Google搜索时我发现MDI已被弃用

这就像马克吐温的名言:“我的死亡报告被夸大了”。 MDI内置于Windows中,许多旧程序依赖于它。它已存在超过25年,并且不会很快消失。

程序员喜欢在不喜欢某项功能时随意宣布弃用的内容。当然,没有人被MDI迷住了。 WPF没有实现它不会使它被弃用,这会使shell通知图标也被弃用,它们肯定还活着。 MDI是一种窗口模型,是为了处理25年前用户使用的监视器而发明的。 640 x 480显示器不会为窗户留下很大空间。找到一种让重叠窗口易于管理的方法是它的主要目标。

在我们今天拥有的巨型显示器上使用它没有多大意义。对接布局更加明智。 Visual Studio就是一个很好的例子。如果您不想自己创建一个库,则需要购买支持它的库。 Weifenluo的DockPanelSuite非常受欢迎,价格合理。

答案 1 :(得分:2)

Form f = new Form();
f.TopLevel = false;
f.Visible = true;
Controls.Add(f);

enter image description here