我有一个ListView
控件,OwnerDraw = true
。
有时我的控件可能没有焦点,但已选择项目。我应该使用哪种颜色来渲染选择栏?
我找不到任何指南,但是似乎普通的
ListView
使用SystemColors.Control
颜色进行渲染 (请参见图片)。我可以依靠这个吗?在某些情况下会不正确吗?
我有一个ListView
控件,OwnerDraw = true
。
有时我的控件可能没有焦点,但已选择项目。我应该使用哪种颜色来渲染选择栏?
我找不到任何指南,但是似乎普通的ListView
使用SystemColors.Control
颜色进行渲染 (请参见图片)。
我可以依靠这个吗?在某些情况下会不正确吗?
SystemColors.Control
是正确的颜色使用方式。不幸的是,在 SystemColors
中没有预定义一个明显表示非活动项的颜色,但是它是可靠的。
唯一不能依赖 SystemColors
的时候是用户在 Windows 中进行了主题颜色设置的显式更改。然而,您不应该关心这一点,因为这是用户做出的显式选择,您不应该干涉用户的选择。
至于指南,Windows UX 指南并没有明确说明适用于非活动项的正确颜色,但它强调选择与操作系统一致、提供良好对比度和易读性的颜色。
对于我不太担心外观的应用程序,我使用默认的系统颜色,但如果我正在为自己的应用程序制定主题(例如使其看起来像 Visual Studio),我完全避免使用系统颜色,改用 web 颜色。
希望这有所帮助。