我正在编写一个支持DPI的应用程序。它目前兼容100%,125%,150%和200%的缩放比例。但是,如果我使用130%的自定义设置,则需要200%而不是125%的代码。是否可以使用所有自定义DPI设置优化我的应用程序而无需100 ifs?
我目前正在使用以下代码:
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%的代码?我错过了什么吗?