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

问题描述:

在复选框我可以设置.Enabled =假到灰色时的复选框矩形和相关联的标签。但外观并不具有吸引力,即标签和复选标记都变得“微弱”; (我知道我可以使用自己的标签,但这只是解决方案的一半)。的Winforms - 如何控制复选框的颜色(类似于只读文本框)

如果我设置.AutoCheck =假的颜色保持正常,但用户得到任何线索,这个复选框是只读的。

要我要一些方法来显式控制矩形的背景色,而进入它的复选标记的颜色。

这是不是太难问了? (想想文本框,我可以变灰的背景,文字还是可以,我想任何颜色!)

你可能想建立自己的复选框来获得这种进行控制的。不过,我会仔细考虑这是否真的是正确的做法。 Windows中的复选框行为很好理解。通过改变它,你可能只会迷惑你的用户。

+0

不试图以任何方式改变底层行为,只是颜色。无论如何,这是我通常的做法,坚持一个标准... ,直到WPF出现...。 – joedotnot 2009-07-13 01:42:48

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

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

一个良好的GUI的动力提供了一个一致的风格,让用户认识到复选框在瞬间被禁用的事实。 另请注意,当您使用XP上的自定义控制器测试控件时,它在Vista上看起来可能会有所不同,甚至会出现故障并无法使用。

我的建议是,不要试图强迫外观的变化,而是尽量让应用更适合顺利地进入了操作系统。