首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DPI正确扩展WinForms时出现的问题

使用DPI正确扩展WinForms时出现的问题
EN

Stack Overflow用户
提问于 2014-06-17 05:53:22
回答 2查看 4.9K关注 0票数 9

我遇到了让WinForms应用程序在高DPI设置下正确显示的问题。我已经检查了各种网站,WinForms都有正确的AutoScaleMode。我已经尝试将其设置为DPI和Font。但是,当使用高DPI设置(例如125%)时,表单总是在底部附近被截断。

我添加了一些要检查的代码,如果将AutoScaleMode设置为DPI,当表单加载时,我看到表单加载时的AutoScaleDimensions是120,120,CurrentAutoScaleDimensions也是120,120。在Form.designer.cs文件中,有一行将AutoScaleDimension设置为96,96。

如果我将AutoScaleMode设置为Font,那么我可以在designer中看到AutoScaleDimension被正确地设置为新的System.Drawing.SizeF(6F,13F),但是当表单加载时,AutoScaleDimension和CurrentAutoScaleDimension都被设置为8F,16F。

这个应用程序混合了一些WPF和WinForms,WPF屏幕最先出现。因此,基于DPI Scaling in .Net 3.5 in Mixed WinForms and WPF Application,我尝试将应用程序和最先显示的WPF屏幕的TextFormattingMode设置为“显示”,但没有区别。

坦率地说,我对这是什么原因感到困惑。我想我可以添加代码,通过在运行时检测DPI来以编程方式调整大小,但我不应该这样做。AutoScaleMode (和相关的)属性会让这个过程变得相当自动化。那么,我还应该检查哪些可能导致此问题的因素?

EN

回答 2

Stack Overflow用户

发布于 2014-10-04 00:03:05

就在几天前,我遇到了类似的问题。经过几个小时的研究,我终于找到了一个非常简单的解决方案--将<dpiAware>添加到应用程序清单中。这里有一个来自Microsoft's website的例子。

代码语言:javascript
复制
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>True</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
</assembly>

对于我的情况,我需要将<dpiAware>设置为每个监视器,以使其正常工作。也就是说,将中间的行更改为<dpiAware>Per-monitor</dpiAware>

下面列出了每个值之间的差异(这些值来自MSDN):

DPI-将应用程序设置为not DPI-aware.

  • True --将应用程序设置为system DPI–aware.

  • Per-monitor --在Windows8.1上,将应用程序设置为-
  • -
  • 。在Windows Vista到Windows8上,将应用程序设置为not DPI–aware.
  • True/PM --在Windows8.1上,将应用程序设置为支持每个显示器的DPI。在Windows Vista到Windows8上,将应用程序设置为系统DPI感知。
票数 9
EN

Stack Overflow用户

发布于 2014-07-02 00:47:49

有没有可能,随着显示器的大小和更高的DPI设置,屏幕不再足够大,以显示整个表单?我这么说是因为我正在开发一个1024x768的winforms应用程序,并修改用户的DPI设置。如果我将DPI设置为150%,我在显示器上看不到窗体的底部,但应用程序仍在正确缩放。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24252851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档