【问题标题】:portable windows form [duplicate]便携式Windows窗体[重复]
【发布时间】:2011-10-06 21:05:07
【问题描述】:

可能重复:
WinForms Different DPI Layouts

我制作了一个在 Windows 窗体中使用大量图片框的应用程序。我已经成功地完成了这个项目。但是当我将应用程序部署到我的朋友笔记本电脑上时,我的问题就开始了,它的显示屏较小。并非所有图片框和控件都是可见的。即,某些控件已失效且无法访问。

实际上,我已经在具有更大显示屏的桌面上开发了该应用程序。如何使表单可移植,以便尽管显示屏发生变化,但控件仍能正确显示?

我知道这是标准化坐标的一个简单问题......但我不想坐下来计划坐标(例如:屏幕 1 单位长度和 1 单位宽度。所以第一个控制在 0.25,0.3 位置) 因为它会浪费我的时间,因为该应用程序有大量的图片框和控件。

Visual Studio 中是否有一个工具可以自动使用标准化坐标并将其保存在部署文件中以便于移植??????

【问题讨论】:

标签: c# winforms visual-studio-2010


【解决方案1】:

有一个工具。它称为WPF。它有device independant graphics,无论大小如何,它的渲染都是一样的。

除此之外,您必须自己手动规范化它

【讨论】:

  • 这家伙在我看来是在谈论 WinForms
  • 令人惊讶的是对这个问题的理解程度如此之低。 WPF 也没有修复它,你也可以塞满一个充满控件的窗口。
【解决方案2】:

使用TableLayoutPanel 并将您的控件放置在表格的单元格中,这将关心调整大小

使用控件的Anchor/Docking属性进行正确的相对对齐。

问候。

【讨论】:

  • TableLayoutPanel 只会帮助控制事物的位置。完全不会影响大小
  • 实际上这篇文章谈到了控件的定位而不是调整它们的大小
  • 来自 msdn :“TableLayoutPanel 控件将其内容排列在一个网格中。因为布局是在设计时和运行时执行的,所以它可以随着应用程序环境的变化而动态变化。这使控件在面板能够按比例调整大小,因此它可以响应诸如父控件大小调整或文本长度因本地化而发生变化等变化。” msdn.microsoft.com/en-us/library/…
【解决方案3】:

您是否考虑过在启用AutoSize 属性的情况下使用FlowLayoutPanel?您可以构建它,使其在运行时动态调整大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2011-01-29
    相关资源
    最近更新 更多