C# XtraTabControl重写控件选中颜色 55
XtraTabControl重写控件选中颜色,选中颜色重绘一次,有没有做过这方面的朋友帮忙指点一下思路,谢谢...
XtraTabControl重写控件选中颜色,选中颜色重绘一次,有没有做过这方面的朋友帮忙指点一下思路,谢谢
展开
展开全部
是要改变Tabcontrol文本的颜色吗?
protected override void OnPaint(PaintEventArgs e)
{
for (int i = 0; i < this.TabCount; i++)
TabPages[i].ForeColor = SelectedIndex == i ? Color.Red : Color.Black;
}
更多追问追答
追问
不是文本颜色,是选中的Tab页的颜色
追答
那要用graphics.drawstring重绘标签标题了
protected override void OnPaint(PaintEventArgs e)
{
for (int i = 0; i < this.TabCount; i++)
{
var bounds = this.GetTabRect(i);
var textPoint = new PointF();
textPoint.X
= bounds.X + (bounds.Width - textSize.Width)/2;
textPoint.Y
= bounds.Bottom - textSize.Height - this.Padding.Y + 3;
e.Graphics.DrawString(
this.TabPages[i].Text,
this.Font,
SelectedIndex == i ? new SolidBrush(ForeColor) : new SolidBrush(Color.Red), // 正常颜色
textPoint.X,
textPoint.Y);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询