Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么Win经典主题选项卡控件的背景不改变颜色?_C#_.net_Winforms_Tabcontrol_Tabpage - Fatal编程技术网

C# 为什么Win经典主题选项卡控件的背景不改变颜色?

C# 为什么Win经典主题选项卡控件的背景不改变颜色?,c#,.net,winforms,tabcontrol,tabpage,C#,.net,Winforms,Tabcontrol,Tabpage,在Win7主题中,它运行良好,但在win经典主题中,它看起来很奇怪 Win 7主题: Win经典主题: 有没有机会解决这个问题?这是故意的。这与改变颜色无关,实际上是一种透明效果。窗口为矩形,形状不适合选项卡。控件首先通过请求父窗口自身绘制并传递自己的窗口句柄来绘制选项卡的空间。然后在上面绘制选项卡。通过设置父对象的BackgroundImage属性可以看到这一点。也就是说,Label和PictureBox控件模拟透明度的方式 这是由视觉样式渲染器实现的行为。Windows Classic不使

在Win7主题中,它运行良好,但在win经典主题中,它看起来很奇怪

Win 7主题:

Win经典主题:


有没有机会解决这个问题?

这是故意的。这与改变颜色无关,实际上是一种透明效果。窗口为矩形,形状不适合选项卡。控件首先通过请求父窗口自身绘制并传递自己的窗口句柄来绘制选项卡的空间。然后在上面绘制选项卡。通过设置父对象的BackgroundImage属性可以看到这一点。也就是说,Label和PictureBox控件模拟透明度的方式

这是由视觉样式渲染器实现的行为。Windows Classic不使用任何透明度效果


如果这对你很重要,那就考虑WPF。它的控件不使用窗口,因此不受所选主题的影响。

这是通过设计实现的。这与改变颜色无关,实际上是一种透明效果。窗口为矩形,形状不适合选项卡。控件首先通过请求父窗口自身绘制并传递自己的窗口句柄来绘制选项卡的空间。然后在上面绘制选项卡。通过设置父对象的BackgroundImage属性可以看到这一点。也就是说,Label和PictureBox控件模拟透明度的方式

这是由视觉样式渲染器实现的行为。Windows Classic不使用任何透明度效果


如果这对你很重要,那就考虑WPF。它的控件不使用窗口,因此不受所选主题的影响。

如果您确实想要自己的独立于样式的自定义选项卡,请使用。看一看


如果您确实想要自己的独立于样式的自定义选项卡,请使用。看一看


这和“去”是同一个问题


您必须重载OnPaintBackground方法

这与转到相同的问题

在W7 Application.DisableVisualStyles中,必须重载OnPaintBackground方法。在W7 Application.DisableVisualStyles中,其工作方式与在Win Classic中相同。在W7 Application.DisableVisualStyles中,其工作方式与在Win Classic中相同