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裡。