当我在 Windows 设置中以 100% 的比例运行它时,我的程序出现问题,该应用程序在我设计时看起来不错。但是当比例设置为例如 125% 时。我遇到了图形问题,字体变得更大了。
我使用不同的 AutoscaleMode 值(无、字体和 DPI)构建不同的二进制文件。然后,我以 100% 和 120% 的比例启动它们(每次我注销以应用比例)。
我将 MetroFramework 用于组件。
源代码可在此处获得(最后一次提交)。
如何修复我的应用程序在不同比例的窗口设置中看起来相同?
我使用了 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();
}