1. 程式人生 > 其它 >C#實現TabControl選項卡豎著排列,控制元件文字橫向顯示

C#實現TabControl選項卡豎著排列,控制元件文字橫向顯示

新建一個tabControl,名字不用修改,選中tabControl1,修改其以下屬性
1、DrowMode=OwnerDrawFixed //
2、Alignment=left //選項卡向左靠齊
3、SizeMode=Fixed //設定此項後,設定ItemSize使表格更美觀
4、ItemSize=60,100 //選項卡內的控制元件大小

加入以下程式碼

//調整選項卡文字方向
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
SolidBrush _Brush = new SolidBrush(Color.Black);//單色畫刷
RectangleF _TabTextArea = (RectangleF)TabControl1.GetTabRect(e.Index);//繪製區域
StringFormat _sf = new StringFormat();//封裝文字佈局格式資訊
_sf.LineAlignment = StringAlignment.Center;
_sf.Alignment = StringAlignment.Center;
e.Graphics.DrawString(TabControl1.Controls[e.Index].Text, SystemInformation.MenuFont, _Brush, _TabTextArea,_sf);
}

選中tabControl1,在屬性欄單擊事件,選擇DrawItem點選後邊的下拉選單,將其事件設定為tabControl1_DrawItem如下圖:

此時開啟工程目錄並不顯示,執行即可看到效果。

或是在Form.Designer.cs內加入以下程式碼(如圖位置)

this.TabControl1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tabControl1_DrawItem);

執行即可檢視效果
注意事項:選項卡控制元件的格式需要自己去寫在DrawItemEventHandler的Font裡。