110,025
社区成员




设置tabControl的Alignment属性为Left后
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
StringFormat format = new StringFormat();
format.FormatFlags |= StringFormatFlags.DirectionVertical;
format.Alignment = StringAlignment.Near;
format.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text, e.Font, new SolidBrush(Color.Black), e.Bounds.Left + 10, e.Bounds.Top + 8, format);
}
以上代码可以实现你要的那种效果了
简单的使用tabControl做了个测试,没有安装这个组件,你修改一下下面的代码应该可以实现你的要求
设置tabControl的DrawMode属性为OwnerDrawFixed;
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
StringFormat format = new StringFormat();
format.FormatFlags |= StringFormatFlags.DirectionVertical;
format.Alignment = StringAlignment.Near;
format.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text, e.Font, new SolidBrush(Color.Black), e.Bounds.Left + 20, e.Bounds.Top + 8, format);
}