2010-12-05 57 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

相關問題