TabControl設置選項卡的大小

今天在使用Winform下的TabControl控件時,發現選項卡大小的調整不僅僅是設置寬度和高度那麼簡單,下面對TabControl選項卡大小的設置進行總結(以顯示在頂部的選項卡爲例):

設置選項卡大小的第一步就是設置TabControl的SizeMode屬性,SizeMode屬性返回枚舉TabSizeMode,TabSizeMode有三個值,分別是Normal,FillToRight,Fixed。另外兩個與選項卡大小設置相關的屬性是ItemSize和Padding,ItemSize顧名思義就是設置選項卡的大小的,Padding表示在選項卡文本/圖像周圍添加的額外空間。

對於SizeMode = TabSizeMode.Normal,微軟給出的解釋是“調整每個選項卡的寬度以適應在選項卡上顯示的內容,並且不調整一行中的選項卡大小以填充容器控件的整個寬度。”,在該選項下,ItemSize中的Width是不起作用的,ItemSize的Height還可以調整選項卡的高度,Padding屬性的X值可以調整選項卡的寬度,Y值只能調整選項卡中文本的位置,不能改變選項卡的高度值。

 

對於SizeMode = TabSizeMode.FillToRight,微軟給出的解釋是“每個選項卡的寬度都要調整,以便選項卡的每行填充容器控件的整個寬度。這僅適用於具有一行以上的選項卡控件。”在Multiline爲false時,他與SizeMode = TabSizeMode.Normal是一樣的,重點是Multiline爲true時,比如第一行選項卡有三個,但是三個選項卡沒有把容器控件填滿,SizeMode = TabSizeMode.Normal下沒填滿就沒填滿,但是SizeMode = TabSizeMode.FillToRight下會調整選項卡的大小一直填滿。下圖是兩種情況的比較:

Normal

FillToRight

對於SizeMode = TabSizeMode.Fixed,微軟給出的解釋是“控件中的所有選項卡具有相同的寬度。”這種應該最好理解,所有選項卡的大小通過ItemSize來設置,Padding.X沒有作用,Padding.Y只能改變文本位置,不能改變選項卡大小。

最後用一個表總結一下:

SizeMode ItemSize.Width ItemSize.Height Padding.X Padding.Y Multiline=true
Normal 不起作用 起作用 起作用 只能調整選項卡中文本的位置  
FillToRight 不起作用 起作用 起作用 只能調整選項卡中文本的位置 調整選項卡的大小填充容器控件的整個寬度
Fixed 起作用 起作用 起作用 只能調整選項卡中文本的位置  

歡迎討論!!!

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