Winforms - 如何控制复选框颜色(类似于文本框只读)

时间:2009-07-09 01:56:29

标签: winforms checkbox readonly

在一个复选框上,我可以设置.Enabled = False以使复选框矩形和相关标签变灰。但外观在视觉上并不吸引人,即标签和复选标记都变得“微弱”; (我知道我可以使用自己的标签,但这只是解决方案的一半)。

如果我设置.AutoCheck = False,颜色保持正常,但用户不知道此复选框是只读的。

我想要的是一种明确控制矩形背景颜色的方法,以及进入它的复选标记的颜色。

要问太多了吗? (想想文本框,我可以使背景变灰,文本仍然可以是我想要的任何颜色!)

3 个答案:

答案 0 :(得分:2)

您可能希望构建自己的复选框以对其进行此类控制。但是,我会仔细考虑这是否真的是正确的事情。 Windows中的复选框行为很容易理解。通过更改它,您可能只会让用户感到困惑。

答案 1 :(得分:1)

最简单的解决方案可能是在复选框后面放置一个没有文字的标签。您可以将标签的颜色设置为您想要的任何颜色,也可以使用CheckBox上的AutoCheck属性。

答案 2 :(得分:0)

通过更改已禁用复选框的外观,您会混淆最终用户。

良好的GUI的强大功能是提供一致的风格,因此用户可以识别出一个瞬间禁用复选框的事实。 另请注意,当您在XP上使用自定义控制器测试控件时,它在Vista上看起来会有所不同,甚至会出现故障和无法使用。

我的建议不是试图强制改变外观,而是试着让应用程序更顺畅地适应操作系统。