winform高DPI下縮放問題


問題描述:

winform在125%的情況下會造成兩個問題:

  1. 設計器上設置的size與實際的size不對應;如:在設計器中設置窗體大小為1024,在高dpi下運行無問題,但改為100%顯示就低於1024大小(即size的屬性值也會跟着dpi進行調整)。
  2. 實際運行時,winform不兼容問題,在100%下設計的界面,在125%下運行會變形。

解決方案:

對於第一個問題需要讓vs以正常dpi啟動,可以參考微軟官網對此提供的解決方案,對於使用正常dpi啟動造成的模糊問題暫時沒找到解決方案,有知道的哥們還請指點迷津。

禁用 DPI 感知,以在窗體中進行縮放 - Visual Studio (Windows) | Microsoft Docs

第二個問題的解決方案需要創建程序清單app.manifest

清單里面有對WPF/winform的兼容代碼,但是都是注釋了的,需要自己取消注釋。

winform則是取消這段的注釋。

然后在app.config文件中添加代碼:

	<appSettings>
		<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
	</appSettings>

到這里問題是都已經解決了,有哪里不清晰的也可以留言。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM