应用程序在150%缩放的显示器上正确显示,但不能在100%的显示器上显示

时间:2017-08-17 13:57:37

标签: c# .net scaling dpi

我目前正在使用.NET Framework 4.7在c#中开发一个应用程序 我有DPI缩放问题。在我的电脑上,我有两台显示器,一台150%缩放,另一台100%。我在我的应用清单文件中添加了此代码:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
  <asmv3:application  xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
</assembly>

它完美无缺。

What is looks like when correctly displayed

我将exe文件及其所有依赖项转移到另一台计算机上,该计算机只有一个屏幕具有100%缩放率且应用程序看起来不应该如此。

What it looks when not correctly displayed

我希望你们有一个解决方案,因为这个问题已经两天了,我正在努力...

1 个答案:

答案 0 :(得分:2)

好吧,就像我每次发布问题一样,我会在几分钟后找出解决方案。

我从应用程序中删除了清单文件,并为我的应用程序中的每个表单将AutoScaleMode属性更改为Dpi而不是Font

现在它就像一个魅力。