在 Win7 主题中效果很好,但在 win 经典主题中看起来很奇怪。
在 Win 7 主题中:
在 Win Classic 主题中:
有没有机会解决这个问题?
在 Win7 主题中效果很好,但在 win 经典主题中看起来很奇怪。
在 Win 7 主题中:
在 Win Classic 主题中:
有没有机会解决这个问题?
这是设计使然。它与“改变颜色”没有任何关系,它实际上是一种透明效果。窗口是矩形的,形状不适合标签。控件首先通过要求父窗口绘制自己,传递它自己的窗口句柄来绘制选项卡的空间。然后在其上绘制选项卡。您可以通过设置父级的 BackgroundImage 属性来查看这一点。还有一种方式,比如说,Label 和 PictureBox 控件模拟透明度。
这是由视觉样式渲染器实现的行为。Windows Classic 不使用任何透明效果。
如果这对您真的很重要,那么请考虑 WPF。它的控件不使用窗口,因此不受所选主题的影响。
如果您真的想要自己的独立于样式的自定义选项卡,请使用OwnerDrawFixed
. 请参阅codeproject 上的示例。
它与转到如何更改 C# winforms 中未使用空间选项卡的背景颜色相同的问题?
你必须重载OnPaintBackground
方法