WinForm中TabControl的Tab标签颜色为白色,要想修改其背景颜色,没有现成的属性可用,需要代码实现,具体步骤为:
1、讲TabControl的属性【DrawMode】设置为:OwnerDrawFixed
2、在TabControl事件【DrawItem】中添加如下代码:
private void tabControlLeft_DrawItem(object sender, DrawItemEventArgs e)
{
//标签背景填充颜色
SolidBrush BackBrush = new SolidBrush(MainBackColor);
//标签文字填充颜色
SolidBrush FrontBrush = new SolidBrush(Color.Black);
StringFormat StringF = new StringFormat();
//设置文字对齐方式
StringF.Alignment = StringAlignment.Center;
StringF.LineAlignment = StringAlignment.Center;
for (int i = 0; i < tabControlLeft.TabPages.Count; i++)
{
//获取标签头工作区域
Rectangle Rec = tabControlLeft.GetTabRect(i);
//绘制标签头背景颜色
e.Graphics.FillRectangle(BackBrush, Rec);
//绘制标签头文字
e.Graphics.DrawString(tabControlLeft.TabPages[i].Text, new Font("宋体", 12), FrontBrush, Rec, StringF);
}
}