0

当我在 Windows 设置中以 100% 的比例运行它时,我的程序出现问题,该应用程序在我设计时看起来不错。但是当比例设置为例如 125% 时。我遇到了图形问题,字体变得更大了。

我使用不同的 AutoscaleMode 值(无、字体和 DPI)构建不同的二进制文件。然后,我以 100% 和 120% 的比例启动它们(每次我注销以应用比例)。

在此处输入图像描述

这是不同情况的屏幕截图(在文本框中我写了使用的比例): 在此处输入图像描述

我将 MetroFramework 用于组件。
源代码可在此处获得(最后一次提交)。
如何修复我的应用程序在不同比例的窗口设置中看起来相同?

4

1 回答 1

1

我使用了 SetProcessDPIAware,它解决了这个问题,现在应用程序可以在不同的缩放模式下工作,只有组合框大小会发生变化。我发现已经在 git 上为组合框打开了一张

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        SetProcessDPIAware();
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern bool SetProcessDPIAware();
}
于 2020-05-15T00:35:36.037 回答