1. 程式人生 > 其它 >winform高DPI下縮放問題

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>

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