現(xiàn)在我們的筆記本電腦分辨率很高,基本上能達(dá)到1920*1080以上,目前普遍使用的顯示器都已經(jīng)達(dá)到了2K到4K的級(jí)別。
但是因?yàn)槲覀兊墓P記本的屏幕小,在非常高的分辨率下,一切看著都很小,尤其是文字,根本看不清,所以Win10很人性化的提供了屏幕縮放功能,一般默認(rèn)放大比例為150%、200%等,如圖所示:
在這種情況下,我們用C#開發(fā)的Winform窗體顯示就有問(wèn)題了,文字和圖像都變得模糊了。
首先,我們要設(shè)置所有的Form窗口的AutoScaleMode為Dpi模式。
可以使用代碼在Form初始化時(shí)設(shè)置AutoScaleMode屬性。
this.AutoScaleDimensions=new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Dpi;
或者在每個(gè)窗口的屬性列表里進(jìn)行修改。
解決方案資源管理器中,在當(dāng)前項(xiàng)目上【右鍵】→ 【添加】→【新建項(xiàng)】
如果窗口顯示默認(rèn)的 .cs 的類文件,可以點(diǎn)擊顯示所有模板。
找到【應(yīng)用程序清單文件(僅限Windows)】→【添加】
取消注釋其中的 assembly/compatibility/application 下的Windows 10 GUID。
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
然后在 App.config 底下加入:
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="DpiAwareness" value="PerMonitorV2" />
</System.Windows.Forms.ApplicationConfigurationSection>
之后,運(yùn)行你的窗體,就可以看到,整個(gè)UI以及字體都非常的清晰,下面是對(duì)比圖:
解決Win10字體模糊的5種方法
1. 調(diào)整顯示縮放設(shè)置
顯示縮放設(shè)置不當(dāng)可能會(huì)導(dǎo)致字體被拉伸或壓縮,從而造成模糊。將顯示縮放設(shè)置調(diào)整到合適的水平是解決字體模糊問(wèn)題的第一步。