如何在c# . net中获得DPI
本文关键字:DPI net | 更新日期: 2023-09-27 18:03:46
我正在尝试使用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();
}
在WinForms应用程序中获取DPI的现代方法
在。net Framework 4.7或更新版本(例如。net 6.0)中,您可以使用控件。DeviceDpi属性获取当前显示控件的屏幕的DPI值。
int dpi = this.DeviceDpi;
控件返回的值。DeviceDpi属性取决于应用程序的DPI感知模式。在。net 5.0及更新版本中,您可以使用application在WinForms应用程序的入口点设置DPI感知。SetHighDpiMode方法。此MSDN页面列出了可能的模式。