我制作了一个 TabControl 并想使用一些控件(标签、文本框、按钮和组合框下拉菜单)。问题是当我选择一个选项卡时,默认背景颜色与控件曾经所在的表单的默认背景颜色不同。选项卡和控件的颜色太相似了,不好看。
我看过,但人们似乎说不可能为标签着色。有什么好的解决方案?我应该在标签内放置某种框架、标签或其他东西以使背景变暗吗?
我制作了一个 TabControl 并想使用一些控件(标签、文本框、按钮和组合框下拉菜单)。问题是当我选择一个选项卡时,默认背景颜色与控件曾经所在的表单的默认背景颜色不同。选项卡和控件的颜色太相似了,不好看。
我看过,但人们似乎说不可能为标签着色。有什么好的解决方案?我应该在标签内放置某种框架、标签或其他东西以使背景变暗吗?
让您的标签页使用与表单相同的背景颜色很容易:
确保TabPage
您要更改的内容在设计器中可见。单击它以选择它。
在“属性”窗口中,找到该UseVisualStyleBackColor
属性并将其设置为False
.
作为奖励,一旦您将此属性设置为,您就可以使用它的属性False
指定您想要的任何背景颜色。TabPage
BackColor
这样做的原因是您强制标签页不使用视觉样式(即 Windows 定义的主题)呈现。默认主题实际上将标签页绘制为用于绘制其他 3D 元素(如表单和按钮)的颜色稍浅的阴影。问题(特别是在 Aero 主题下)是标准 3D 元素的颜色已经很浅,以至于标签页看起来几乎是白色的!
如果您对控件与表单的标准背景颜色的对比感到满意,我建议您只需将UseVisualStyleBackColor
属性设置为False
并保持不变,而无需指定自定义背景颜色。尊重用户的默认主题通常是最佳实践,而不是尝试自己为应用程序设置皮肤。
编辑:请注意,这不会改变TabControl
. 为此,您必须将其指定为所有者绘制并处理其DrawItem
事件,从而迫使您自己完成所有绘画。然而,在大多数情况下,这不是必需的。