【问题标题】:c# how can i make sure that my application will look the same on other systems?c# 如何确保我的应用程序在其他系统上看起来相同?
【发布时间】:2010-05-13 19:22:05
【问题描述】:

我如何确保我正在开发的应用程序在其他 Windows 系统上看起来相同?

我现在在 windows7 上开发,带有 .net 3.5 框架..(VS 2008)

作为一个例子,我有一个工具栏,我将它的渲染模式更改为系统,它在我的 windows7 上看起来不错,但是当我在 windows xp 上运行应用程序时,它就不同了,甚至 onmouseover 背景颜色也不同。 ..

有没有办法让应用程序看起来像在每个 Windows 系统上一样(仅谈论 abt xp、vista 和 windows 7),比如说像导出应用程序的所有控件的设置一样!?或任何技巧来确保它总是一样的?

提前致谢

【问题讨论】:

  • 你不应该这样做。应用程序应与本机操作系统的设计和配色方案相匹配。

标签: c# windows-7 windows-vista windows-xp


【解决方案1】:

除非您自己渲染窗口,否则操作系统之间总会有细微的差别,它们都有不同的方式来渲染您的原始控件,如文本框、面板等。

在 windows 下,窗口/控件的背景颜色实际上(默认情况下)绑定到 windows 中设置的主题。

因此,允许人们使用自己的主题是一个加分项。除非您为自己的应用程序设置主题,否则您真的不应该将样式强加于人。

【讨论】:

    【解决方案2】:

    您必须掌握所有颜色、字体、透明度等,并使用它们来覆盖每个控件的 Paint 事件/方法,以便它们可以使用您的值。

    我认为合适的唯一方法是编写自己的自定义控件,同时通过 Paint() 方法处理这些控件的外观,以便控件可以使用您提供的内容。痛苦!...

    正如 SLaks 评论的那样,您不应该关心这些细节,而让默认用户偏好接管本机操作系统,因为随着时间的推移可能会遇到一些意外,就像 Windows 找不到字体一样,例如,它将用默认值替换它,这可能会导致可怕的结果。这只是一个例子。需要其他人吗?

    【讨论】:

      猜你喜欢
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 2010-09-29
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      相关资源
      最近更新 更多