【发布时间】:2010-12-03 22:25:38
【问题描述】:
我想尽可能使用系统颜色。如何选择不包含在系统颜色中的颜色?
WPF 的SystemColors 类、WinForms 的SystemColors 类和GetSysColor API 函数的COLOR_* 常量均不包含可用于警告的颜色。警告通常是红色的,但不能保证它不会接近用户使用的系统颜色。
我想使用标准系统颜色在 ListBox 中显示项目(通常是未选中项目的白色背景上的黑色文本,选定的海军蓝白色,浅灰色选定的未聚焦的白色)。当一个项目有问题时(例如,它所涉及的操作失败了),我想让它的文本变成红色以引起注意。对所有三种情况(选中、选中、未聚焦、未选中)使用单一颜色已经存在问题,因为我发现在浅灰色背景下很难阅读红色文本。
仅使用自定义颜色从而避免问题是不可接受的行为。用户希望程序尊重他们的设置。
如何为警告选择正确的颜色?
【问题讨论】:
-
我以为警告是黄色的,错误是红色的?
-
@Nate 恐怕在白色背景上显示黄色文本比在红色文本上显示更难。 :) 我很少看到黄色用于警告。可能是因为它只能用于很少使用的深色背景。
-
也许另一种方法会更好,请查看 Windows 事件日志以获取一个很好的示例。他们使用图标代替,更直观(恕我直言),因为所有文本都保持一致。
-
@Nate 你应该考虑添加图标的想法作为答案,我喜欢它。
-
您经常以黑色显示警告/错误的文本,并且只使用黄色/红色框边框、背景颜色和/或图标。
标签: c# wpf windows user-interface colors