加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

如何解決C#應(yīng)用開發(fā)時,Win10縮放導(dǎo)致的字體模糊問題?

03/07 09:50
3869
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

現(xiàn)在我們的筆記本電腦分辨率很高,基本上能達到1920*1080以上,目前普遍使用的顯示器都已經(jīng)達到了2K到4K的級別。

但是因為我們的筆記本的屏幕小,在非常高的分辨率下,一切看著都很小,尤其是文字,根本看不清,所以Win10很人性化的提供了屏幕縮放功能,一般默認(rèn)放大比例為150%、200%等,如圖所示:

在這種情況下,我們用C#開發(fā)的Winform窗體顯示就有問題了,文字和圖像都變得模糊了。

1. 設(shè)置Form的DPI模式

首先,我們要設(shè)置所有的Form窗口的AutoScaleMode為Dpi模式。

可以使用代碼在Form初始化時設(shè)置AutoScaleMode屬性。

this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;

或者在每個窗口的屬性列表里進行修改。

2. 添加應(yīng)用程序清單文件

解決方案資源管理器中,在當(dāng)前項目上【右鍵】→ 【添加】→【新建項】

如果窗口顯示默認(rèn)的 .cs 的類文件,可以點擊顯示所有模板。

找到【應(yīng)用程序清單文件(僅限Windows)】→【添加】

3、編輯生成的app.manifest文件,取消注釋其中的 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>

之后,運行你的窗體,就可以看到,整個UI以及字體都非常的清晰,下面是對比圖:

全文完,如果覺得寫得不錯,那就點個贊或者“在看”吧,最好能加個星標(biāo),因為微信的規(guī)則改了太多,多謝閱讀。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
FM25CL64B-G 1 Ramtron International Corporation Memory Circuit, 8KX8, CMOS, PDSO8, GREEN, MS-012AA, SOIC-8
$6.47 查看
KSZ9031RNXCA-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC48

ECAD模型

下載ECAD模型
$105.81 查看
FTLF1318P3BTL 1 Finisar Corporation Transceiver, 1270nm Min, 1360nm Max, 1250Mbps(Tx), 1250Mbps(Rx), LC Connector, Surface Mount, ROHS COMPLIANT PACKAGE

ECAD模型

下載ECAD模型
$278.49 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

多年硬件從業(yè)經(jīng)驗,專注分享從研發(fā)到供應(yīng)鏈,再到精益制造過程中的經(jīng)驗和感悟!