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


    指定进程的默认 DPI 识别有两种主要方法:

    1 ) 通过应用程序清单设置

    2 ) 通过 API 调用以编程方式

    为进程 (Windows 设置默认 DPI 感知) - Win32 apps | Microsoft Docs

    第一种方法:通过应用程序清单设置

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

    添加 app.manifest 的步骤

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

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

    第一种方法:通过 API 调用以编程方式

     在Program.cs 中添加红框的代码,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();
        }
    }
  • 相关阅读:
    SmartJS 系列规划分享和背景介绍
    SmartJS 第一期(0.1)发布
    让文档和Demo生成更加简单和强大
    SmartDoc(YUIDoc) 注释编写
    smartjs
    smartjs
    smartjs 0.3 DataManager 发布&介绍
    smartjs 0.2 OOP讲解
    smartjs 0.2 OOP讲解
    smartjs 0.2发布
  • 原文地址:https://www.cnblogs.com/fangjb/p/15798417.html
Copyright © 2020-2023  润新知