2017-05-29 62 views
0

我有一个名为TMO(http://gotmo.co.uk)的Outlook Add In,它具有在Outlook工具栏中单击帮助按钮时打开的Windows窗体。问题是,当我在高DPI屏幕上使用TMO时,例如Surface Pro,表单渲染非常复杂(请参阅截图)。但是在其他笔记本电脑上,表单呈现正确。Windows Forms和高DPI屏幕

事实上,如果我在Surface Pro上运行一个测试应用程序,我可以从其中加载相同的窗体并正确渲染。请参阅附件的截图。

从我的阅读到目前为止Windows窗体需要特殊处理才能在高DPI屏幕上正确呈现。但是我无法弄清楚需要编写哪些代码才能做到这一点。我的两个具体问题是

  1. 为什么相同的窗体在Outlook中对vs STand Alone启动时在高DPI屏幕上呈现差异?
  2. 需要编写哪些代码(通常)来处理在高DPI屏幕上呈现Windows FOrms。

Distorted

Correct

回答

0

在App.config每个监视器DPI意识启用

<System.Windows.Forms.ApplicationConfigurationSection> 
    <add key="DpiAwareness" value="PerMonitorV2" /> 
</System.Windows.Forms.ApplicationConfigurationSection> 

参考 - https://msdn.microsoft.com/en-us/library/mt799789(v=vs.110).aspx

+0

谢谢,但我的应用程序编码针对.NET 4.6。 1并升级到4.7将是我的客户面临的挑战。该配置设置在4.7中。 – Nikhil

相关问题