C# Winform 在低DPI創(chuàng )建窗體后,在高DPI運行時(shí),窗體會(huì )自動(dòng)拉伸,導致窗體顯示不全,
比如在分辨率為100% 的電腦創(chuàng )建C#項目,當運動(dòng)到分辨率為125%的電腦運行時(shí),后者運行的窗體會(huì )自動(dòng)拉伸,窗體顯示超出頁(yè)面等問(wèn)題。
選中項目,右鍵點(diǎn)屬性》查看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種方法:
經(jīng)過(guò)多次嘗試,解決該問(wèn)題比較方便的一個(gè)方式是,在項目中添加 應用程序清單文件即可。
具體步驟如下:
1、啟動(dòng)項目找到 添加 》添加新建項(選應用程序清單文件):
2、添加后在項目中找到添加的文件APP.manifest雙擊打開(kāi),
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、保存,然后重新生成解決方案。解決自動(dòng)拉伸問(wèn)題。