C#Tabcontrol控件选型卡在左
第一步:设置Alignment=left
设置DrowMode=OwnerDrawFixed
设置ItemSize=30,100
设置SizeMode=Fixed
第二部:重绘,实现tabcontrol控件的tabControl1_DrawItem事件,如下所示
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
string text=((TabControl)sender).TabPages[e.Index].Text;
SolidBrush brush=new SolidBrush(Color.Black);
StringFormat sf = new StringFormat(StringFormatFlags.DirectionRightToLeft);
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Center;
e.Graphics.DrawString(text, SystemInformation.MenuFont,brush, e.Bounds, sf);
}
新建一个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里。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有