我们有一个旧的.net Windows窗体应用程序。我们已经用Web应用程序替换了大多数应用程序,但仍将Windows窗体应用程序用于管理任务。
在4k显示器上使用此应用程序时,看起来确实很糟糕,这是可以理解的。
但是外观会根据系统上的其他监视器而变化。该测试是在联想430上完成的,联想430具有通过显示端口连接的4k显示器。笔记本电脑显示器的分辨率为1920/1080,而4k显示器的分辨率为3840/2160。显示比例始终为200%。
以下所有屏幕截图均在4k监视器上拍摄。
我知道,如果不进行更改和设置dpiAware / dpiAwareness,我们的应用程序在4k上将无法正常显示。
但是我的问题是:为什么应用程序的外观仅根据激活的监视器而改变?有没有办法控制采用哪种“外观”?
也许您知道这一点,但是之前没有提到:
有3种应用程序:
此处的详细信息:https : //msdn.microsoft.com/de-de/library/windows/desktop/dn469266(v=vs.85).aspx
您可以在app.config中的应用程序上设置DPI意识:
<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value="false" />
</appSettings>
和app.manifest:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
</windowsSettings>
</application>
当您具有DPI> = 150%的缩放比例时,可以在应用程序上通过人民币另外控制->属性->兼容性->高DPI缩放比例
对于Windows窗体,默认值为DPI-Scaling,对于高DPI禁用。因此,一切都应立即可用。也许其中一项设置不是默认设置?尤其是在exe的RMB属性中的配置?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句