對于Winform好久沒有碰了,估計應該有一年了、大概也忘完了,現在開始複習複習根據目前項目的需求先從布局開始,果圖如下:
個人覺得主要用到的知識點有以下幾點:窗體拆分、使用者自定義控件、動态加載控件、控件居中。
下面說一下自己的實作步驟:
1. 拆分窗體
a) 建立一個窗體,設定為最大化。屬性WindState: Maximized。
b) 在窗體中拖放一個SplitContainer控件,同時設定Orientation:Horizontal。這樣把窗體設為上下兩部分。
c) 在分割後的窗體中在拖放一個SplitContainer控件,同僚設定Orientation屬性為Vertical,這時把窗體分割為左右兩部分。
d) 為了區分窗體的分割的不同子產品,給不同的子產品設定相應的顔色。
2. 使用者自定義控件
a) 點選項目,右擊選擇菜單建立,然後選擇使用者控件,更改預設名稱即可。
b) 建立好的使用者控件類似于一個面闆,在上面可以定義自己想要的控件。此時隻是做測試,建立了2個使用者控件。
3. 動态加載控件
a) 在上圖的左欄中拖放兩個按鈕:按鈕一觸發使用者自定義控件,同僚加入到窗體右下的面闆中。
b) 設定使用者自定義控件的Dock屬性為Fill.
4. 控件居中
a) 窗體是最大化的,面闆中的控件可以根據窗體大小的不斷變化始終居中。
b) 設定使用者自定義控件中的控件Anchor屬性:None
5. 關鍵代碼如下:
//按鈕1
private void button1_Click(object sender, EventArgs
{
Uc01 u = new Uc01();
u.Dock = DockStyle.Fill;
DisPanel();
this.splitContainer2.Panel2.Controls.Add(u);
}
//按鈕2
private void Panel2_Click(object sender, EventArgs
{
Uc02 u2 = new Uc02();
u2.Dock = DockStyle.Fill;
DisPanel();
this.splitContainer2.Panel2.Controls.Add(u2);
}
//銷毀Panel
private void
{
foreach (UserControl uc in this.splitContainer2.Panel2.Controls)
{
uc.Dispose();
}
}