C#實現TabControl選項卡豎著排列,控制元件文字橫向顯示(最詳細)
阿新 • • 發佈:2018-12-17
新建一個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裡。