2017-10-28 214 views
0

我有點麻煩了。我有一個MDI.Parent窗體,裏面有一些藍色的面板。當我打電話給我的孩子表格時,孩子表格落在藍色面板後面。我沒有想到這一點,因爲面板已經在運行時存在,而子窗體被稱爲後者(我雖然新的項目總是在最上面)。vb.net子窗體落在父窗體內面板控件後面

我該如何解決這個問題...我使用Vb.net爲此

+0

MDI是舊的...通過'Me.Controls.Add(yourForm)'直接添加子窗體作爲控件。 –

+0

您必須將面板停靠在父項的邊緣。 –

回答

2

沒有什麼可以解決的。這是它的工作方式。

當您將IsMdiContainer表單的IsMdiContainer屬性設置爲True時,實際發生的是MdiClient控件被添加到表單中以充當子表單的主機。你看到的灰色背景實際上是控制,而不是形式。當您向父項添加MDI子窗體時,將成爲該MdiClient的子控件。

如果您要添加GroupBox到您的形式,把一個Panel了它,然後添加一個ButtonGroupBox,你會期望Button到過Panel可見?我希望不會,因爲它不會。這也不例外。

子窗體基本上是MdiClient控件的一部分,所以覆蓋子窗體的任何東西都可以。如果你試圖做別的事,那麼你濫用MDI。您可以添加​​並將它們停靠在父窗體的邊緣,但不應該有浮動控件。

用一點jiggery-pokery可以顯示一個Image作爲背景或繪製漸變等,但MdiClient並非設計用於託管表單以外的其他控件,因此您無法將控件添加到它。

+0

Jmcilhinney有道理。我試過的另一件事是創建一個載入藍色面板的子窗體,然後像以前一樣加載「鋼筆樣式」窗體。雖然這種劑量的工作,我需要新的兒童形式最大化,但這導致我的「筆式」兒童也成爲最大化的爭議設置其最小和最大尺寸相等到260; 300 ....? –