转载来源:https://zhidao.baidu.com/question/75299631.html
把TabControl的DrawMode设为OwnerDrawFixed
然后在它的DrawItem事件里添加代码:
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
Brush brBack, // 背景刷子
brText = new SolidBrush(Color.Black); // 前景刷子
Font ftText = new Font("Tahoma", 9.0F); // 字体
Rectangle rcItem = tabControlDistictSelect.GetTabRect(e.Index); // 选项卡矩形区域
switch (e.Index) // 不同的选项卡刷不同的背景色
{
case 0: brBack = new SolidBrush(Color.Blue); break;
case 1: brBack = new SolidBrush(Color.Red); break;
case 2: brBack = new SolidBrush(Color.Yellow); break;
case 3: brBack = new SolidBrush(Color.Purple); break;
case 4: brBack = new SolidBrush(Color.Pink); break;
case 5: brBack = new SolidBrush(Color.SeaGreen); break;
default: brBack = new SolidBrush(Color.Fuchsia); break;
}
e.Graphics.FillRectangle(brBack, rcItem); // 用指定的颜色填充选项卡矩形区域
e.Graphics.DrawString(tabControlDistictSelect.TabPages[e.Index].Text, ftText, brText, rcItem.Location); // 用指定的颜色和字体绘制文字
brBack.Dispose();
brText.Dispose();
ftText.Dispose();
}