天天看點

Winform 窗體拆分、使用者自定義控件、動态加載控件、控件居中

       對于Winform好久沒有碰了,估計應該有一年了、大概也忘完了,現在開始複習複習根據目前項目的需求先從布局開始,果圖如下:

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();   
            }
        }