WinForm中TabControl的Tab标签颜色为白色,要想修改其背景颜色,没有现成的属性可用,需要代码实现,具体步骤为:

1、讲TabControl的属性【DrawMode】设置为:OwnerDrawFixed

2、在TabControl事件【DrawItem】中添加如下代码: 

 1 private void tabControlLeft_DrawItem(object sender, DrawItemEventArgs e)
 2         {
 3             //标签背景填充颜色
 4             SolidBrush BackBrush = new SolidBrush(MainBackColor);
 5             //标签文字填充颜色
 6             SolidBrush FrontBrush = new SolidBrush(Color.Black);
 7             StringFormat StringF = new StringFormat();
 8             //设置文字对齐方式
 9             StringF.Alignment = StringAlignment.Center;
10             StringF.LineAlignment = StringAlignment.Center;
11 
12             for (int i = 0; i < tabControlLeft.TabPages.Count; i++)
13             {
14                 //获取标签头工作区域
15                 Rectangle Rec = tabControlLeft.GetTabRect(i);
16                 //绘制标签头背景颜色
17                 e.Graphics.FillRectangle(BackBrush, Rec);
18                 //绘制标签头文字
19                 e.Graphics.DrawString(tabControlLeft.TabPages[i].Text, new Font("宋体", 12), FrontBrush, Rec, StringF);
20             }
21         }
View Code

 

posted on 2013-05-14 14:34  蓝色狙击手  阅读(12276)  评论(2编辑  收藏  举报