Tho*_*mar 27
使用Graphics该类的实例.您可以在表单中使用以下内容(可以在表单的Load事件处理程序中):
float dx, dy;
Graphics g = this.CreateGraphics();
try
{
dx = g.DpiX;
dy = g.DpiY;
}
finally
{
g.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
在 .NET Framework 4.7 或更高版本(例如 .NET 6.0)中,可以使用Control.DeviceDpi属性获取当前显示控件的屏幕的 DPI 值。
int dpi = this.DeviceDpi;
Run Code Online (Sandbox Code Playgroud)
Control.DeviceDpi属性返回的值取决于应用程序的 DPI 感知模式。
在 .NET 5.0 及更高版本中,您可以使用Application.SetHighDpiMode方法在 WinForms 应用程序的入口点设置 DPI 感知。此 MSDN 页面上列出了可能的模式。最佳模式是“PerMonitorV2”,它考虑了当前屏幕的 DPI 设置:
Application.SetHighDpiMode(HighDpiMode.PerMonitorV2);
Run Code Online (Sandbox Code Playgroud)
在 .NET 4.7 和 .NET 4.8 中,您应该在清单文件中声明应用程序的 DPI 感知。我推荐“PerMonitorV2”。请查看以下文档主题以获取更多信息和示例:
| 归档时间: |
|
| 查看次数: |
31035 次 |
| 最近记录: |