Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在设计WinForms UI时尊重XP主题_Winforms_User Interface - Fatal编程技术网

在设计WinForms UI时尊重XP主题

在设计WinForms UI时尊重XP主题,winforms,user-interface,Winforms,User Interface,在设计WinForms UI时,如何处理不同的XP主题?您是否避免硬编码的颜色值,或者只是接受您的UI在非标准主题上不好看 例如,我有一个浅蓝色渐变面板,在标准控件背景色下看起来不错,但会与其他自定义主题冲突。什么是好方法?避免使用十六进制颜色和名称为“白色”或“绿色”的颜色。大多数对象的颜色选择器应该能够显示名称为“ActiveWindow”或“ForegroundText”的颜色。这些是您想要使用的颜色。它们也可以通过代码获得,您需要选择它们,以便名称与它们的使用方式有某种关系。例如,不要仅

在设计WinForms UI时,如何处理不同的XP主题?您是否避免硬编码的颜色值,或者只是接受您的UI在非标准主题上不好看


例如,我有一个浅蓝色渐变面板,在标准控件背景色下看起来不错,但会与其他自定义主题冲突。什么是好方法?

避免使用十六进制颜色和名称为“白色”或“绿色”的颜色。大多数对象的颜色选择器应该能够显示名称为“ActiveWindow”或“ForegroundText”的颜色。这些是您想要使用的颜色。它们也可以通过代码获得,您需要选择它们,以便名称与它们的使用方式有某种关系。例如,不要仅仅因为想要黑色背景就将“ForegroundText”设置为背景色。如果你有一个渐变,那么使用这些颜色来构建渐变。此外,当主题发生变化时,您可能需要处理一个事件

如果你选择尊重主题的话。如果您有一个真正的外部接口,那么您可能需要指定自己的颜色。在这种情况下,永远不要使用windows的颜色,因为它们不可靠,你可能会得到一些真正难看的东西。这意味着您需要更改标准控件中的所有默认值,但如果您这样做,您可能有自己的控件

总之,要记住的是,这是一个全有或全无的镜头:要么尊重主题并始终使用基于Windows窗口小部件元素定义的颜色,要么不使用主题且永远不使用这些颜色