1

在 Win7 主题中效果很好,但在 win 经典主题中看起来很奇怪。

在 Win 7 主题中: 在此处输入图像描述

在 Win Classic 主题中:

在此处输入图像描述

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

4

3 回答 3

5

这是设计使然。它与“改变颜色”没有任何关系,它实际上是一种透明效果。窗口是矩形的,形状不适合标签。控件首先通过要求父窗口绘制自己,传递它自己的窗口句柄来绘制选项卡的空间。然后在其上绘制选项卡。您可以通过设置父级的 BackgroundImage 属性来查看这一点。还有一种方式,比如说,Label 和 PictureBox 控件模拟透明度。

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

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

于 2012-09-03T13:20:29.113 回答
1

如果您真的想要自己的独立于样式的自定义选项卡,使用OwnerDrawFixed. 请参阅codeproject 上的示例

Curtis Schlak 的自定义选项卡控件。

于 2012-09-03T13:32:30.040 回答
0

它与转到如何更改 C# winforms 中未使用空间选项卡的背景颜色相同的问题?

你必须重载OnPaintBackground方法

于 2012-09-03T14:23:04.210 回答