Windows 10上的Windows窗体应用程序无法正确扩展

Cle*_*leo 5 user-interface scaling winforms windows-10

在Windows 10上运行我们的一个Windows窗体应用程序时,GUI看起来很糟糕,因为缩放似乎搞砸了.以下是一些1920x1080截图(请注意第二对的不同尺寸): 赢10

赢7

赢10

赢7

Windows 10显示设置中的缩放选项设置为100%(因此不应应用额外的缩放).此外,在程序启动时执行以下代码:

  static void Main()
    {
        if (Environment.OSVersion.Version.Major >= 6) //Windows Vista and higher
            SetProcessDPIAware(); //disable DPI scaling (or something like that) to avoid scaling problems on Windows 10

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(Hauptmenue.Instance);
    }
Run Code Online (Sandbox Code Playgroud)

这个代码块有点帮助,因为它在Windows 10上看起来更糟糕.但这还不够好......有没有人知道如何"恢复"GUI以使其看起来与Windows 7或8完全一样?

Ale*_*mer 5

尝试将 Windows 7 和 Windows 8 上的设置更改为 100%。我不认为这是 Windows 10 的问题。可能是因为 Windows 10 中的默认设置不同。

您可以尝试使用AutoScaleMode Enumeration来“玩” 。

尝试将表单的模式设置为Dpi,如下所述

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
Run Code Online (Sandbox Code Playgroud)

另请阅读此 SO 问题中有关在不同控件中缩放的答案。

  • 谢谢,AutoScaleMode 指导我找到正确的解决方案。我已在所有形式上将其设置为“Dpi”,现在看起来更好了。还需要更改字体:我注意到我们的默认字体“Microsoft Sans Serif”在 Windows 10 上显示得更大,这也导致了问题,因此我将其更改为 Arial,它在 Windows 7 上的大小相似和 10。 (3认同)