len*_*ant 5 c# screen-resolution
我们可以获得分辨率和屏幕的东西Screen。所以,如果我们想在屏幕中央放置一些东西,我们应该使用Screen.WorkingArea.Widthand Screen.WorkingArea.Height。
但是,在 Windows 8.1(不确定其他操作系统)中,如果项目看起来太小,则可以在屏幕上缩放项目。您可以通过调用桌面上的上下文菜单来检查它,选择“屏幕分辨率”,然后选择“放大或缩小文本和其他项目”。
问题是,它似乎确实提高了屏幕分辨率!所以,Screen.WorkingArea.Width和Screen.WorkingArea.Height给你换算值,并指向Screen.WorkingArea.Width/2 Screen.WorkingArea.Height/2将在实际屏幕的中心不再是(200%缩放这点将在屏幕的右下角)。这可能会破坏 UI 项目的大量放置。
那么,是否有可能获得缩放的价值?我找不到任何包含此信息的类。
大多数检索 DPI 的方法取决于现有控件,这有时可能不方便。但 DPI 始终可以从注册表中检索。在 C# 中:
using Microsoft.Win32;
//...
var currentDPI = (int)Registry.GetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "LogPixels", 96);
Run Code Online (Sandbox Code Playgroud)
规模将是
var scale = 96/(float)currentDPI;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8276 次 |
| 最近记录: |