0

我正在编写一个 DPI 感知应用程序。它目前兼容 100%、125%、150% 和 200% 缩放。但是,例如,如果我使用 130% 的自定义设置,它将采用 200% 而不是 125% 的代码。是否可以在没有 100 个 if 的情况下使用所有自定义 DPI 设置优化我的应用程序?

我目前正在使用以下代码:

Graphics g = this.CreateGraphics();
if (g.DpiX < 120)
{
    t.ItemSize = new Size(245, 22);
}
else if (g.DpiX == 120)
{
    t.ItemSize = new Size(329, 28);
}
else if (g.DpiX == 144)
{
    if (g.DpiX > 195)
    {
        t.ItemSize = new Size(494, 44);
    }
    else
    {
        t.ItemSize = new Size(368, 33);
    }
}
else
{
    t.ItemSize = new Size(494, 44);
}

编辑:

现在使用此代码:

        Graphics g = this.CreateGraphics();
        if (g.DpiX < 120)
        {
            t.ItemSize = new Size(245, 22);
        }
        else if (g.DpiX >= 120 && g.DpiX < 144)
        {
            t.ItemSize = new Size(329, 28);
        }
        else if (g.DpiX >= 144 && g.DpiX < 196)
        {
            if (g.DpiX >= 196)
            {
                t.ItemSize = new Size(494, 44);
            }
            else
            {
                t.ItemSize = new Size(368, 33);
            }
        }
        else
        {
            t.ItemSize = new Size(494, 44);
        }

结果是 200% 出于某种原因使用 150% 的代码?我错过了什么?

4

0 回答 0