【问题标题】:Ensuring that application is independent of users' screen resolution确保应用程序独立于用户的屏幕分辨率
【发布时间】:2011-01-04 03:53:12
【问题描述】:

是否有任何简单的方法可以在任何不同的 PC 上运行在 Visual Studio 2005 上使用 C# 创建的应用程序,无论其屏幕分辨率如何?

【问题讨论】:

    标签: c# .net winforms resolution-independence


    【解决方案1】:

    屏幕分辨率?

    .NET 2.0 中的 Windows 窗体具有一些处理不同 DPI 的机制,并且它具有比 .NET 1.1 更好的布局系统。一般来说,使用 FlowLayoutPanel、TableLayoutPanel 等布局面板,而不是将控件固定在 X/Y 坐标上,这样处理不同的窗口大小会更容易。

    如果您可以使用我不记得适用于 Visual Studio 2005 的 WPF,那么您有更多的分辨率独立性选项。 DPI 问题消失了,WPF 具有 ViewBox 等功能,可让您缩放整个窗口或统一控制。

    【讨论】:

    • 我想我没有想到屏幕分辨率 - +1 猜测。我坚持回答“在任何 PC 上”,因为问题有点不清楚。
    • +1 不要忘记将表单的AutoScaleMode property 设置为“DPI”或“字体”,具体取决于哪个最适合您的方案。另请参阅 MSDN 关于Automatic Scaling in Windows Forms 的综合文章。
    • 确实如此,但不应仅仅依赖 AutoScaleMode,因为它很少像承诺的那样神奇地工作。如果您在适用的情况下使用布局面板和 AutoSize,您通常会处于良好状态。哦,是的,永远不要在你的机器上以 96 DPI 设计 Windows 窗体!
    • WPF 支持 .Net 3.0 框架,而 VS-2005 具有 .Net 2.0 框架所以我认为在 VS-2005 中考虑 WPF 是在浪费时间。
    • 除了最后提到 WPF 的简短段落之外,其余的答案和所有 cmets 都是关于 Windows 窗体的。
    猜你喜欢
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 2011-03-12
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    相关资源
    最近更新 更多