您的位置:首页 > 健康 > 美食 > 苏州网络公司建网站_个人博客ui设计_江阴网站优化公司_市场营销师报名官网

苏州网络公司建网站_个人博客ui设计_江阴网站优化公司_市场营销师报名官网

2025/7/14 10:30:09 来源:https://blog.csdn.net/weixin_44664073/article/details/143368311  浏览:    关键词:苏州网络公司建网站_个人博客ui设计_江阴网站优化公司_市场营销师报名官网
苏州网络公司建网站_个人博客ui设计_江阴网站优化公司_市场营销师报名官网

【WPF】如何获取屏幕比例

  • 方法一:使用 SystemParameters.PrimaryScreenWidth 和 SystemParameters.PrimaryScreenHeight
  • 方法二:使用 System.Windows.Forms.Screen 类

  在WPF (Windows Presentation Foundation) 应用程序中,你可以通过使用 System.Windows.SystemParameters 类或者 System.Windows.Forms.Screen 类来获取屏幕的比例。这里提供两种方法来实现这一功能。

  屏幕缩放比例 = 屏幕逻辑高度 / 屏幕实际高度

方法一:使用 SystemParameters.PrimaryScreenWidth 和 SystemParameters.PrimaryScreenHeight

  SystemParameters 类提供了访问系统度量标准和常量的方法。你可以使用 PrimaryScreenWidth 和 PrimaryScreenHeight 属性来获取主屏幕的宽度和高度(以像素为单位),然后计算屏幕比例。

        private void GetScreenInfo() {double currentGraphics = System.Drawing.Graphics.FromHwnd(new System.Windows.Interop.WindowInteropHelper(Application.Current.MainWindow).Handle).DpiX / 96;string screenHeight = (SystemParameters.PrimaryScreenHeight * currentGraphics).ToString();string screenWidth = (SystemParameters.PrimaryScreenWidth * currentGraphics).ToString();MessageBox.Show($"screenHeight : {screenHeight} + sscreenWidth : {screenWidth}");double dpiScaleX = VisualTreeHelper.GetDpi(this).DpiScaleX;double dpiScaleY = VisualTreeHelper.GetDpi(this).DpiScaleY;MessageBox.Show($"dpiScaleX : {dpiScaleX} + dpiScaleY : {dpiScaleY}");}

方法二:使用 System.Windows.Forms.Screen 类

  如果你需要获取所有显示器的信息,或者需要更详细的屏幕信息,可以使用 System.Windows.Forms.Screen 类。这需要添加对 System.Windows.Forms 程序集的引用。

  首先,在你的项目中添加对 System.Windows.Forms 的引用:

  1. 在解决方案资源管理器中右击你的项目。
  2. 选择“管理 NuGet 包”。
  3. 搜索 System.Windows.Forms 并安装。

  然后,你可以使用以下代码来获取主屏幕的比例:

using System.Windows.Forms; // 需要添加对 System.Windows.Forms 的引用// 获取主屏幕
Screen primaryScreen = Screen.PrimaryScreen;// 获取屏幕分辨率
int screenWidth = primaryScreen.Bounds.Width;
int screenHeight = primaryScreen.Bounds.Height;// 计算屏幕比例
double screenRatio = (double)screenWidth / screenHeight;Console.WriteLine($"屏幕比例: {screenRatio}");

  以上两种方法都可以用来获取屏幕的比例,而选择哪种方法取决于的具体需求。如果只是简单的获取主屏幕的比例,使用 SystemParameters 可能会更加方便。如果你的应用程序需要处理多显示器的情况,那么使用 System.Windows.Forms.Screen 将会更加灵活。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com