【发布时间】:2011-07-27 12:19:41
【问题描述】:
我正在尝试使用 C# 构建一个 Windows 窗体应用程序。
如何在 .NET 中获取 DPI?
我之前看过,有DPIX和DPIY,可以在.NET中使用来获取当前的DPI。
对吗?
谢谢大家。
【问题讨论】:
我正在尝试使用 C# 构建一个 Windows 窗体应用程序。
如何在 .NET 中获取 DPI?
我之前看过,有DPIX和DPIY,可以在.NET中使用来获取当前的DPI。
对吗?
谢谢大家。
【问题讨论】:
使用Graphics 类的实例。您可以在表单中使用以下内容(可能在表单的Load 事件处理程序中):
float dx, dy;
Graphics g = this.CreateGraphics();
try
{
dx = g.DpiX;
dy = g.DpiY;
}
finally
{
g.Dispose();
}
【讨论】:
scaleControl 方法(或类似的东西)的(在其他地方找到)重载要好。顺便说一句,如果您想要“相对于默认 DPI 的比例”,您只需将其除以 96.0f。
Width = 3*DpiX; Height = 5*DpiY;