問題描述:
winform在125%的情況下會造成兩個問題:
- 設計器上設置的size與實際的size不對應;如:在設計器中設置窗體大小為1024,在高dpi下運行無問題,但改為100%顯示就低於1024大小(即size的屬性值也會跟着dpi進行調整)。
- 實際運行時,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>
到這里問題是都已經解決了,有哪里不清晰的也可以留言。
