C# tabcontrol 背景

我现在要将winfrom显示在tabcontrol中,但是觉得tabcontrol背景很白,想将tabcontrol的背景变成透明(这样可以在tabcontrol依附的主... 我现在要将winfrom显示在tabcontrol中,但是觉得tabcontrol背景很白,想将tabcontrol的背景变成透明(这样可以在tabcontrol依附的主窗体中放图片,这样tabcontrol可以更加漂亮些)但是要怎样做呢?我只知道tabpage可以变换颜色,但是将winform放入后颜色就被遮盖了,而且这个也不是我想要的效果。所以问一下大家有没有好的方法(例如将tabcontrol变成透明或帮tabcontrol增加一幅背景图等),要详细一点,因为对tabcontrol了解少。是不是要用上DrawItem事件的?
对于1楼的答案不是很明白,tabcontrol好像没有onpaint事件,只有DrawItem等
展开
 我来答
lw2003112326
推荐于2018-04-13 · 超过43用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:98.5万
展开全部
最单的办法就是,在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(...);//填充背景
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式