C# Winform 在低DPI创建窗体后,在高DPI运行时,窗体会自动拉伸,导致窗体显示不全,
比如在分辨率为100% 的电脑创建C#项目,当运动到分辨率为125%的电脑运行时,后者运行的窗体会自动拉伸,窗体显示超出页面等问题。
选中项目,右键点属性》查看WINDOWS设置,修改app.manifest,启用下列功能(前面的'去掉)
修改文件:app.manifest
<Application xmlns = "urn:schemas-microsoft-com:asm.v3" >
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-----------------
第2种方法:
经过多次尝试,解决该问题比较方便的一个方式是,在项目中添加 应用程序清单文件即可。
具体步骤如下:
1、启动项目找到 添加 》添加新建项(选应用程序清单文件):
2、添加后在项目中找到添加的文件APP.manifest双击打开,
3、找到app2.manifest里面的内容,添加如下的内容:
<Application xmlns = "urn:schemas-microsoft-com:asm.v3" >
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
4、保存,然后重新生成解决方案。解决自动拉伸问题。