c# TabControl 中TabPages放左边显示文字

标签:
显示文字绘制控件代码设置it |
分类: C#网络编程 |
[c-sharp] view
plaincopy
-
-
private Rectangle tabArea; -
private RectangleF tabTextArea; -
-
private void Form1_Load( objectsender, EventArgs e) -
{ -
TabSetMode(); -
-
} -
-
/// <summary> -
/// 设定控件绘制模式 -
/// </summary> -
private void TabSetMode() -
{ -
tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed; -
tabControl1.Alignment = TabAlignment.Left ; -
} -
-
private void tabControl1_DrawItem( objectsender, DrawItemEventArgs e) -
{ -
tabArea = tabControl1.GetTabRect(e.Index); -
tabTextArea = tabArea; -
Graphics g = e.Graphics; -
StringFormat sf = new StringFormat(); -
sf.LineAlignment = StringAlignment.Center; -
sf.Alignment = StringAlignment.Center; -
Font font = this.tabControl1.Font; -
SolidBrush brush = new SolidBrush(Color.Black); -
g.DrawString(((TabControl)(sender)).TabPages[e.Index].Text, font, brush, tabTextArea, sf); -
} -
}
说明:此段代码,可以使得
代码2
[c-sharp] view
plaincopy
-
private
void tabControl1_DrawItem( objectsender, DrawItemEventArgs e) -
{ -
StringFormat
sfForamt = new StringFormat(); -
sfForamt.LineAlignment = StringAlignment.Center; -
sfForamt.Alignment = StringAlignment.Center; -
TabControl tcTab = (TabControl)sender; -
e.Graphics.DrawString(tcTab.TabPages[e.Index].Text, SystemInformation.MenuFont, new SolidBrush(Color.Black), e.Bounds, sfForamt); -
}
这是我从网上找到的两个代码,其实实现方式都一样,都是重新再绘制TabPages的样式。可能还有其他的更好的方式,希望有高手补充