如何确保开发的应用程序在其他Windows系统上看起来一样?
我现在正在开发一个带有.net 3.5框架的Windows7。(VS 2008)作为一个例子,我有一个工具栏,我将其rendermode更改为系统,它在我的windows7上看起来没问题,但是当我在windows xp上运行应用程序时,它是不同的,甚至onmouseover背景颜色也不同。 ..
有没有办法让应用程序看起来像每个Windows系统(仅限于xt,vista和windows 7),比如用应用程序导出所有控件的设置!或任何技巧,以确保它将始终相同?
提前感谢
答案 0 :(得分:1)
除非你自己渲染窗口,否则你的OS之间总会有细微差别,它们都有不同的方式来渲染原始控件,如文本框,面板等。
同样在Windows下,窗口/控件的背景颜色实际上(默认情况下)与windows中的主题设置相关联。
因此,允许人们使用自己的主题是一个优点。除非你主动使用自己的应用程序,否则你真的不应该强迫人们使用它。
答案 1 :(得分:0)
你必须抓住所有的颜色,字体,transperancy等,并使用它们来覆盖每个控件的Paint事件/方法,以便他们可以使用你的值。
我认为合适的唯一方法是在通过Paint()方法处理这些控件外观时编写自己的自定义控件,以便控件可以使用您提供的内容。痛苦!...
正如SLaks评论的那样,你不应该关心这些细节,让defaut用户首选项接管原生操作系统,因为随着时间的推移可能会遇到一些惊喜,就像Windows找不到字体一样,例如,将替换它的默认值,这可能会导致可怕的结果。这只是一个例子。需要其他人吗?