可视 C# 更改选项卡标题颜色

本文关键字:标题 颜色 选项 可视 | 更新日期: 2023-09-27 18:35:55

我按照这个解决方案设置标签页标题颜色来更改选项卡标题的颜色。但是,这会在选项卡控件中所有选项卡的选项卡标题上设置相同的颜色。你能帮我只更改所选选项卡标题的颜色吗?非常感谢这里的任何帮助。谢谢

可视 C# 更改选项卡标题颜色

DrawItemEventArgs e 参数将告诉您所需的一切。

要绘制各种颜色的标题,请将Brushes.Black替换为myBrush,并将DrawString放在 using 子句中,如下所示:

using (SolidBrush myBrush = new SolidBrush (tabControl1.TabPages[e.Index].ForeColor))
{
    e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text, e.Font, myBrush ,
                          e.Bounds.Left + (e.Bounds.Width - sz.Width) / 2, 
                          e.Bounds.Top + (e.Bounds.Height - sz.Height) / 2 + 1);
}

现在,每个标题都将在其TabPageForeColor中绘制。

TextRenderer.DrawText替换DrawString会更好!

如果您只想更改所选选项卡的颜色,只需使用如下所示的检查:

SolidBrush myBrush = new SolidBrush (e.State.HasFlag(DrawItemState.Selected) ? 
                     SystemColors.ActiveCaptionText : SystemColors.ControlText)