龙空技术网

如何解决C#应用开发时,Win10缩放导致的字体模糊问题?

轩哥谈芯 1031

前言:

此刻咱们对“win10 模糊不清”大致比较注重,姐妹们都需要了解一些“win10 模糊不清”的相关文章。那么小编在网上网罗了一些对于“win10 模糊不清””的相关内容,希望看官们能喜欢,朋友们快快来学习一下吧!

现在我们的笔记本电脑分辨率很高,基本上能达到1920*1080以上,目前普遍使用的显示器都已经达到了2K到4K的级别。

但是因为我们的笔记本的屏幕小,在非常高的分辨率下,一切看着都很小,尤其是文字,根本看不清,所以Win10很人性化的提供了屏幕缩放功能,一般默认放大比例为150%、200%等,如图所示:

在这种情况下,我们用C#开发的Winform窗体显示就有问题了,文字和图像都变得模糊了。

1. 设置Form的DPI模式

首先,我们要设置所有的Form窗口的AutoScaleMode为Dpi模式。

可以使用代码在Form初始化时设置AutoScaleMode属性。

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

或者在每个窗口的属性列表里进行修改。

2. 添加应用程序清单文件

解决方案资源管理器中,在当前项目上【右键】→ 【添加】→【新建项】

如果窗口显示默认的 .cs 的类文件,可以点击显示所有模板。

找到【应用程序清单文件(仅限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以及字体都非常的清晰,下面是对比图:

标签: #win10 模糊不清