C# Winform 在低DPI創(chuàng)建窗體后,在高DPI運(yùn)行時(shí),窗體會(huì)自動(dòng)拉伸,導(dǎo)致窗體顯示不全,
比如在分辨率為100% 的電腦創(chuàng)建C#項(xiàng)目,當(dāng)運(yùn)動(dòng)到分辨率為125%的電腦運(yùn)行時(shí),后者運(yùn)行的窗體會(huì)自動(dòng)拉伸,窗體顯示超出頁(yè)面等問(wèn)題。
選中項(xiàng)目,右鍵點(diǎn)屬性》查看WINDOWS設(shè)置,修改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è)方式是,在項(xiàng)目中添加 應(yīng)用程序清單文件即可。
具體步驟如下:
1、啟動(dòng)項(xiàng)目找到 添加 》添加新建項(xiàng)(選應(yīng)用程序清單文件):
2、添加后在項(xiàng)目中找到添加的文件APP.manifest雙擊打開(kāi),
3、找到app2.manifest里面的內(nèi)容,添加如下的內(nèi)容:
<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)題。