C# tabcontrol 背景
我现在要将winfrom显示在tabcontrol中,但是觉得tabcontrol背景很白,想将tabcontrol的背景变成透明(这样可以在tabcontrol依附的主...
我现在要将winfrom显示在tabcontrol中,但是觉得tabcontrol背景很白,想将tabcontrol的背景变成透明(这样可以在tabcontrol依附的主窗体中放图片,这样tabcontrol可以更加漂亮些)但是要怎样做呢?我只知道tabpage可以变换颜色,但是将winform放入后颜色就被遮盖了,而且这个也不是我想要的效果。所以问一下大家有没有好的方法(例如将tabcontrol变成透明或帮tabcontrol增加一幅背景图等),要详细一点,因为对tabcontrol了解少。是不是要用上DrawItem事件的?
对于1楼的答案不是很明白,tabcontrol好像没有onpaint事件,只有DrawItem等 展开
对于1楼的答案不是很明白,tabcontrol好像没有onpaint事件,只有DrawItem等 展开
展开全部
最单的办法就是,在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(...);//填充背景
}
不好意思,我搞成控件重写了。OnPaint事件是 TabControl类受保护的事件。所以在继承类里,你可以重写它。
但是在这里没有必要。你可以直接用DrawItem事件去绘制一个背景色。DrawItem事件有个DrawItemEventArgs 参数,利用它可以绘制背景图或背景色。如下:
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
e.Graphics.DrawImage(...);//绘制背景
e.Graphics.FillRectangle(...);//填充背景
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询