Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows缩放正在影响我的应用程序字体_C#_Hidpi - Fatal编程技术网

C# Windows缩放正在影响我的应用程序字体

C# Windows缩放正在影响我的应用程序字体,c#,hidpi,C#,Hidpi,当我在windows设置下以100%的比例运行程序时,我的程序出现了问题。我设计的应用程序看起来很好。但当比例设置为125%时。我遇到了图形问题,字体变得更大了 我用不同的AutoscaleMode值(无、字体和DPI)构建不同的二进制文件。然后,我以100%和120%的比例启动它们(每次我注销以应用比例) 以下是不同情况下的屏幕截图(我在文本框中写下了使用的比例): 我正在对组件使用MetroFramework。 源代码可用(上次提交)。 如何使我的应用程序在不同的缩放窗口设置下看起来相同

当我在windows设置下以100%的比例运行程序时,我的程序出现了问题。我设计的应用程序看起来很好。但当比例设置为125%时。我遇到了图形问题,字体变得更大了

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

以下是不同情况下的屏幕截图(我在文本框中写下了使用的比例):

我正在对组件使用MetroFramework。
源代码可用(上次提交)。

如何使我的应用程序在不同的缩放窗口设置下看起来相同?

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

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();
}
静态类程序
{
/// 
///应用程序的主要入口点。
/// 
[状态线程]
静态void Main()
{
SetProcessDPIAware();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(新Form1());
}
[System.Runtime.InteropServices.DllImport(“user32.dll”)]
私有静态外部bool SetProcessDPIAware();
}