【问题标题】:Creating a color def file or choosing a theme for Windows Mobile 6.5 Application为 Windows Mobile 6.5 应用程序创建颜色定义文件或选择主题
【发布时间】:2023-04-06 20:52:02
【问题描述】:
我在 Windows mobile 6.5 和 .NET 3.5 CF 上使用 C# 开发应用程序。我正在使用多种形式,并希望有一个通用的配色方案,只需更改颜色定义文件或 VS 2008 中的一些简单选项即可轻松更改。
我环顾四周,似乎没有任何明确的解决方案。我已经尝试深入到定义颜色的位置以查看它我可以添加自己的全局变量,甚至在设计器文件中,但没有提及颜色,这是我可以更改颜色的唯一方法在属性窗口中。
【问题讨论】:
标签:
c#
colors
compact-framework
themes
【解决方案1】:
一个简单的方法是使用Form继承。创建一个模板表单(命名为“TemplateForm.frm”或其他名称),颜色/样式如您所愿,然后添加您想要的每种控件(按钮、复选框、标签等)的一个(不可见)实例重新用于您的所有其他表单。
然后编辑现有表单,使其继承自 TemplateForm(而不是继承自 Form)。向TemplateForm 的Load 事件添加一个方法,该方法遍历表单上的所有控件(这当然需要递归)并设置每个控件的样式(字体、颜色等)以匹配相应的(不可见模板) ) 在父窗体上控制该类型。
【解决方案2】:
另一种可能不是更好的方法是修改注册表中 [HKEY_LOCAL_MACHINE\System\GWE] "SysColor" 中的系统颜色。我用过它,但我不是粉丝,因为有时很难获得一组好的颜色,而且它会在系统中的任何地方改变它。 @MusiGenesis 方法为您提供更好的控制。
见Customizing System Colors