【问题标题】:Overlapping controls in Windows XPWindows XP 中的重叠控件
【发布时间】:2012-08-08 01:03:40
【问题描述】:

我在 Windows 7 的 VS 2010 中开发了一个 Windows 桌面应用程序;当我在 Windows XP 中安装该应用程序时,一些文本框和标签相互重叠。

简而言之,在将基于 Windows 7 构建的应用程序安装到 Windows XP 后,视觉设计过程失败了,我的控件现在重叠了。

我该怎样解决这个问题?

【问题讨论】:

  • 是否有任何控件锚定到外部窗口边框?两个操作系统上的应用窗口大小是否相同?
  • 你的控件是主题的吗?您是否在清单中指定了正确的 comctl32?

标签: c# .net vb.net


【解决方案1】:

听起来这两个操作系统的 DPI 设置不匹配。根据内存,Windows 7 的默认设置高于 Windows XP。

如何检查、更改两个版本中的值:

Windows 7 - DPI Display Size Settings - Change

To increase or decrease the size of objects and text on your screen

如果您希望同时满足这两种默认设置,您需要设计您的应用程序以应对这些差异。查看 Control.Anchor 和 Control.Dock 属性,详细了解如何确保控件大小适当:

Control.Anchor Property

Control.Dock Property

【讨论】:

    【解决方案2】:

    您是否有以不同 DPI 运行的 Win7 和 WinXP? XP 默认为 96 dpi,而我相信 Win7 默认为 120。这可能会导致您所描述的视觉差异。

    您可以在 Win7 中的控制面板\外观和个性化\显示中查看设置。 “小”是 96 dpi,“中”是 120。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2011-12-31
      • 2014-04-07
      • 1970-01-01
      • 2012-10-12
      • 2017-10-26
      相关资源
      最近更新 更多