2010-12-05 67 views
1

我的MDI应用程序一次显示一个最大化的子窗体,而子窗体没有ControlBox。切换子窗体是通过父窗体中的MenuStrip中的项来完成的。我真的需要弄清楚哪个孩子表格正在显示,并且在使用之前隐藏它,显示另一个孩子吗?另外,如果我将WindowState属性设置为最大化所有子窗体并忽略Size属性,则第一次在子窗体上使用.show时,它不会在父窗体中最大化。一旦我对孩子使用隐藏,下一个.show会产生最大化的子表单。有没有办法看到儿童表格第一次显示时最大化?如何打开和关闭MDI子窗体(如果它们没有ControlBox)

+3

对于这种窗口模型使用MDI毫无意义。它只是挡道。 – 2010-12-05 21:55:42

回答

0
  1. 你通常不需要隐藏一个MDI子显示您在下单前,但它是可能的时机混合起来,在这种情况下,错误的形式可以在上面结束。这可能在启动时或加载或关闭文件时发生。

  2. 在父代完成加载之前,父代尚未最大化时,可能子窗体正在加载。孩子的表格可能会在父母中正确地最大化,但是父母会变得更大。您可以通过将父窗体事件中的子窗体设置为最大化(或调整其大小)来解决此问题。您也可以在父母的ResizeEnd事件中执行此操作。

正如汉斯所说,现在使用Tabs而不是MDI是更为社会可接受的,假设您有时间进行更改。

+0

我甚至不建议使用标签,如果你只是要展示“一次最大化的儿童形式”。如果显示的其他选项卡无法切换,则只会造成混淆,如果只显示一个选项卡,则只是浪费空间。 – 2010-12-06 05:42:00

相关问题