【问题标题】:Displaced controls in windows forms .net frameworkWindows窗体.net框架中的移位控件
【发布时间】:2011-12-23 00:35:01
【问题描述】:

我有一个奇怪的问题。我在 c# 和 .net framework 3.5 中设计了一个 Windows 窗体应用程序。在运行时,表单及其控件在所有计算机上都很好,除了我的笔记本电脑,其中控件的位置不正确。

如果我在笔记本电脑上以正确的位置从头开始设计表单,则会导致其他计算机的形状无效。

我的努力:

  • 如果我在安全模式下运行 windows 窗体大小和控件位置 是正确的。
  • 我已卸载视频驱动程序并使用默认的 windows 版本,但问题仍然存在。
  • 我使用了不同的框架,如 2.0 和 4.0,以及不同的 Visual Studios 版本,它们都有相同的问题。
  • 实际上所有公司的所有 .net 框架产品都表明了相同的问题。

我的电脑设置: 笔记本电脑 1557 Studio 戴尔 图形 ATI Radeon HD 4500

【问题讨论】:

标签: c# .net windows winforms ati


【解决方案1】:

我刚刚找到了解决方法。 在 Windows 7 的显示设置中,我将文本大小从 125% 更改为 100%。一切都更小,但位置和尺寸准确。 仍然想知道它是如何工作的!

【讨论】:

  • 当然,你只是把它固定在你的电脑上。您认为在字体大小为 125% 的客户计算机上会发生什么?
  • 如果您可以检查其他 .netframework winform 产品,他们仍然存在此问题。我认为这种情况下的解决方案是为您的表单使用控制器来保持运行时对象的纵横比或使用 WPF。
【解决方案2】:

当人为地将文本大小增加到 125% 时,放置得相当近的文本和控件将环绕表单并将所有内容向下/向上推。如果这是您打算支持的内容,您只需重新设计表单以处理您希望支持的不同放大级别,并在您的应用程序中测试这些放大的文本模式,直到您对它们的外观感到满意。这不是您可以严格控制的,因为增加文本大小是一种辅助功能。

【讨论】:

    【解决方案3】:

    我认为这是由于屏幕分辨率差异造成的。我相信控件的实际位置在这两种情况下是相同的,其中一种是屏幕“更大”,因此您的控件出现在屏幕上的不同位置。

    试试Designing forms to work on different resolutions and aspect ratios on Windows CE

    您可以(并且应该)做的另一件事是使用 WPF,这是为 Windows 构建用户界面的新方法。

    【讨论】:

    • 感谢您的回复。实际上分辨率是相同的,我发现我的 Windows 7 中的文本大小更大(125%),当我将其更改为 100% 时,它现在工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多