書小宅之C#——WinForm控件使用心得

一、要明確控件的層級關係,需要到文檔大綱查看;

二、一般由容器控件充當父控件,爲方便管理(便於窗體適應不同分辨率的電腦),在佈局的時候就要注意容器和內部控件的屬性管理,見下;

三、Location屬性:子控件左上角的座標點相對於父控件左上角的座標點的位置;

四、爲子控件設置Location、Anchor和Dock屬性,都是子控件相對於 直接父控件 的關係而言的,並不是整個窗體;

五、Anchor 的屬性有Top, Bottom, Left, Right四種可選,這四個屬性可以組合使用,在“屬性”裏直接點擊設置即可。當 直接父控件 的大小產生改變的時候體現這個參數的效果(如Normal窗體和最大化窗體之間的切換)。可以利用Anchor屬性實現分辨率的適配問題。

1、Top表示當父控件的大小改變時,子控件上邊緣距父控件下邊沿的高度 不變;
2、Bottom表示當父控件的大小改變時,子控件下邊緣距父控件下邊沿的高度 不變;
3、Left表示當父控件的大小改變時,子控件左邊緣距父控件左邊沿的長度 不變;
4、Right表示當父控件的大小改變時,子控件右邊緣距父控件右邊沿的長度 不變;

例子
橘色的Panel是父控件,藍色的Panel是子控件:
Normal時:
在這裏插入圖片描述

1、設置藍色Panel子控件的Anchor屬性爲Right和Button後,改變父控件的大小,雖Location屬性不變,要保證距離父控件下邊沿和右邊沿的長度不變,會保證子控件的大小不變,子控件左上角的座標點相對於父控件左上角的座標點的位置改變。
即可知:設置Anchor屬性後,父控件的大小改變,則以Anchor屬性爲主導,Location屬性只在初始化的時候對控件的定位有效。
最大化後效果:
在這裏插入圖片描述
2、設藍色子Panel控件的Anchor屬性爲Top, Bottom, Left, Right,父控件的大小改變,要保證距離父控件上下左右邊沿距離父控件的距離不變,則子控件的大小一定會改變。
最大化後效果:
在這裏插入圖片描述

六、Dock的屬性有:Fill、Top, Bottom, Left, Right和None六種選擇。Dock屬性表示在子控件相對父控件的停放方式(和某一方向邊沿的緊密貼合),不管父控件的大小如何改變,子控件的大小也會隨之改變,當總保持這種停泊關係不改變。
例子
綠色的Panel是父控件,深藍色的Panel是子控件:
Normal時:
在這裏插入圖片描述

1、當深藍色Panel子控件Dock屬性設置爲None時,以Location和Size屬性爲準,效果類似Normal時的效果;
2、當深藍色Panel子控件Dock屬性設置爲Fill屬性時,子控件會完全填滿父控件;
在這裏插入圖片描述
3、當深藍色Panel子控件Dock屬性設置爲Top屬性時,子控件會停靠在父控件的上邊沿;
在這裏插入圖片描述
4、當深藍色Panel子控件Dock屬性設置爲Bottom屬性時,子控件會停靠在父控件的下邊沿;
在這裏插入圖片描述
5、當深藍色Panel子控件Dock屬性設置爲Right屬性時,子控件會停靠在父控件的右邊沿;
在這裏插入圖片描述
6、當深藍色Panel子控件Dock屬性設置爲Left屬性時,子控件會停靠在父控件的左邊沿;
在這裏插入圖片描述

七、Panel直接添加添加點擊事件無效;

八、BackColor屬性設置爲Transparent,有時候看不到自己想要的效果,是因爲這個屬性效果實際上是,子控件的顏色是透明的,但是隻能透過子控件看到子控件位置處它的 直接父控件 的顏色,可通過文檔大綱查看直接父控件是誰。也可以直接在文檔大綱裏拖拽改變層級關係,也可以在代碼裏通過PictureBox1.parent=panel1;將子控件PictureBox1的父容器設置爲panel1,這樣將PictureBox1的背景色設置爲Transparent的時候,即可看到此處Panel的顏色。
除去label控件的字體外的背景色也可以採用類似的辦法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章