解决winform(C#)界面在高分辨率(DPI)屏幕下字体模糊问题

方法1、通过应用程序清单设置

1)为应用程序添加app.manifest清单文件

添加 app.manifest 的步骤:

鼠标右击工程在菜单中选择“属性”,点击工程属性的“安全性”标签,在安全性标签页中勾选“启用ClickOnce安全设置”,并选择“这是完全可信的应用程序”,保存工程,此时在Properties下已经自动生成了app.manifest文件。

2)打开 app.manifest ,取消红框的注释即可

解决winform(C#)界面在高分辨率(DPI)屏幕下字体模糊问题

方法2、通过 API 调用以编程方式

在Program.cs 中添加红框的代码,DPI函数需在窗口打开函数之前

解决winform(C#)界面在高分辨率(DPI)屏幕下字体模糊问题

namespace ui
{
    internal static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {

            if (Environment.OSVersion.Version.Major >= 6)
                SetProcessDPIAware();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());


        }
        [System.Runtime.InteropServices.DllImport("user32.dll")]
        private static extern bool SetProcessDPIAware();
    }
}