Win10 字體模糊

      在〈Win10 字體模糊〉中尚無留言

微軟不再支援Windows Form了, 所以本篇僅留作紀錄,請讀者直接放棄

Windows 10更改了DPI(螢幕密度)的縮放的行為, 所以當螢幕字體放大後, 以前開發的程式若是使用Windows Form, 字體都會模糊. 若是使用WPF則會自動感知DPI, 不會有模糊的現像.

此問題需使用VS2017版本解決. VS2013己測試過, 無法解決.
win10_1

修改app.manifest

在專案按右鍵/加入/新增項目, 然後選取應用程式資訊清單檔案, 檔名使用預設的app.manifest即可. 然後將底下的註解拿掉

 <!-- 表示應用程式為 DPI 感知,Windows 不會在 DPI 變高時自動
 調整。Windows Presentation Foundation (WPF) 應用程式會自動感知 DPI,因此不需要
 選擇加入。選擇加入這項設定之以 .NET Framework 4.6 為目標的 Windows Form 應用程式也
 應該在其 app.config 中將 'EnableWindowsFormsHighDpiAutoResizing' 設定為 'true'。-->
 
 <application xmlns="urn:schemas-microsoft-com:asm.v3">
 <windowsSettings>
 <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
 </windowsSettings>
 </application>

App.config

若使用 .NET Framework4.6, 則在App.config中, 需將EnableWindowsFormsHighDpiAutoResizing 設定為true.

<configuration>
 <configSections>
 </configSections>
 <connectionStrings />
 <startup> 
 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
 </startup>
 <appSettings>
 <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
 </appSettings>
</configuration>

經過上面的更改, 模糊的問題就可以解決了

win10_2

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *