C# tabcontrol 背景

2024-11-07 13:54:49
推荐回答(1个)
回答1:

最单的办法就是,在TabControl的tabPage里设置BackgroudImage属性,设置背景图片。但是这个背景图只是针对每一个页签来说的,当然你可以将每一个页签设置同样的背景。但是TabControl的头并没有引用背景色,如果你想要TabControl正个用同一个背景,此时你就需要重写该控件的OnPaint事件了。

不好意思,我搞成控件重写了。OnPaint事件是 TabControl类受保护的事件。所以在继承类里,你可以重写它。
但是在这里没有必要。你可以直接用DrawItem事件去绘制一个背景色。DrawItem事件有个DrawItemEventArgs 参数,利用它可以绘制背景图或背景色。如下:
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{

e.Graphics.DrawImage(...);//绘制背景
e.Graphics.FillRectangle(...);//填充背景
}