2

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

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

我想要的是某种方式来显式控制矩形的背景颜色,以及进入它的复选标记的颜色。

那是过分的要求?(想想文本框,我可以将背景变灰,文本仍然可以是我想要的任何颜色!)

4

3 回答 3

2

You might want to build your own checkbox to get this kind of control over it. However, I would carefully consider whether or not this is really the right thing to do. The checkbox behavior in Windows is well understood. By changing it, you may only serve to confuse your users.

于 2009-07-09T02:36:35.897 回答
1

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

于 2009-07-09T06:58:08.500 回答
0

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

良好 GUI 的力量在于提供一致的风格,因此用户可以立即意识到复选框被禁用的事实。另请注意,当您在 XP 上使用自定义控制器测试控件时,它在 Vista 上的外观可能会大不相同,甚至会出现故障和无法使用。

我的建议是不要试图强制改变外观,而是尝试让应用程序更顺利地融入操作系统。

于 2009-07-09T07:08:02.397 回答