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