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, this.Font, _Brush, _TabTextArea, _sf);
        }

选中tabControl1,在属性栏单击事件,选择DrawItem点击后边的下拉菜单,将其事件设置为tabControl1_DrawItem如下图:

C#实现TabControl选项卡竖着排列,控件文字横向显示

此时打开工程目录并不显示,运行即可看到效果。

或是在Form.Designer.cs内加入以下代码(如图位置)

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

C#实现TabControl选项卡竖着排列,控件文字横向显示

运行即可查看效果
注意事项:选项卡控件的格式需要自己去写在DrawItemEventHandler的Font里。

e.Graphics.DrawString(tabControl1.Controls[e.Index].Text, this.Font, _Brush, _TabTextArea, _sf);

Original: https://www.cnblogs.com/waw/p/16399390.html
Author: 狼人:-)
Title: C#实现TabControl选项卡竖着排列,控件文字横向显示

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/545678/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球