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、保存,然后重新生成解決方案。解決自動拉伸問題。