【问题标题】:Application Form Size and Resolution申请表大小和分辨率
【发布时间】:2012-12-21 22:04:53
【问题描述】:

我在将 WinForms 应用程序发布到其他计算机时遇到问题。我使用 Visual Studio 2010 来设计和编程应用程序,当我将 EXE 或 OneClick 安装程序发送到另一台计算机并尝试在那里运行它时,它运行良好,但似乎分辨率或某些东西已关闭。 PictureBoxes 悬垂在边缘,一些控件被窗体窗口限制截断。我显然没有像那样把那些控件放在那里。当我在我的计算机上运行应用程序时,控件的大小/它们应该在的位置都是正确的。

问题是,如何配置已发布的 EXE 以使用我编写的相同分辨率或以某种方式适应应用程序可能运行的不同屏幕分辨率?

【问题讨论】:

  • 您需要将 UserControl 的 AutoScaleMode 属性设置为 AutoScaleMode.Dpi,而不是将 AutoScale 属性设置为 true。如果这样做,它会将 AutoScaleMode 重置为 None。 AutoScale 属性已过时,仅用于向后兼容 msdn.microsoft.com/en-us/library/… 或 Google Creating a DPI-Aware Application
  • 不确定要搜索什么。我发现我需要在预期的部署分辨率中设计表单?听起来很……蹩脚。 stackoverflow.com/questions/1833725/…
  • 查看我之前评论中的链接,也可以通过谷歌搜索Creating a DPI-Aware Application
  • 这里有一个 Stackoverflow 帖子,无论帖子听起来是否蹩脚,都需要一些额外的工作/编码,这就是我们程序员所期望的,没有什么比 123 更简单了。 stackoverflow.com/questions/572820/…

标签: c# screen-resolution


【解决方案1】:

根据您的要求,您需要构建一个“分辨率独立/自适应”的前端。

以下是您可以用来重新设计表单的一些选项:

TableLayoutPanel 控件、FlowLayoutPanel 控件等布局控件

参考

http://forums.codeguru.com/showthread.php?490012-How-to-make-a-Resolution-Independent-Application

http://vbcity.com/forums/t/88845.aspx

http://www.andreavb.com/forum/viewtopic_5501.html

考虑使用 AutoScaleMode 枚举

参考

http://msdn.microsoft.com/en-us/library/system.windows.forms.autoscalemode.aspx

http://www.codeproject.com/Questions/245199/Creating-resolution-independent-applications-in-VB

哎呀,是时候投资 WPF 了

参考

http://msdn.microsoft.com/en-us//library/ms754130.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2014-04-24
    相关资源
    最近更新 更多