1. 程式人生 > >在C#中使用Panel控件實現在一個窗體中嵌套另一個窗體

在C#中使用Panel控件實現在一個窗體中嵌套另一個窗體

post div fill nta 屬性 panel 屬性設置 結構 菜單

在C#中使用Panel控件實現在一個窗體中嵌套另一個窗體
ShowAllPage sAllPage = new ShowAllPage();
// sAllPage.FormBorderStyle = FormBorderStyle.None;
// sAllPage.Dock = DockStyle.Fill;
sAllPage.TopLevel = false;
this.MainPanel.Controls.Clear();
this.MainPanel.Controls.Add(sAllPage);
sAllPage.Show();

MainPanel為主窗體中的Panel控件,ShowAllPage為要在主窗體中顯示中Panel中的窗體.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

FormBorderStyle 屬性設置新窗體的邊框樣式
Dock屬性獲取或設置哪個邊框停靠到父框體並確定如何隨父框體一起調整大小
這兩項屬性可不加

但是用一個最簡單的方法來說,就是使用MDI
首先,父窗口要設置IsMdiContainer屬性為True。實現MDI結構的父子窗口套用
然後在窗口跳轉處改為如下代碼:
例:一般跳轉:Form1 f=new Form();
F.Show();
改為:
Form1 c = new Form1();
c.MdiParent = this;
c.Show();
不過這樣有時會遇到一個問題,就是子窗體在跳出的時候會以父窗體的0,0坐標為準,所以在父窗體中如果有菜單欄的話,子窗體會被遮蓋上,那麽我們就在子窗體的Form_Load()中加上一句話來設置它與窗體上邊緣的距離
this.Top = 100;
這樣就完成了一個窗體在另一個窗體中的嵌套

在C#中使用Panel控件實現在一個窗體中嵌套另一個窗體