WPF 获取屏幕分辨率(获取最大宽高)等


double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度
double y = SystemParameters.WorkArea.Height;//得到屏幕工作区域高度
double x1= SystemParameters.PrimaryScreenWidth;//得到屏幕整体宽度
double y1 = SystemParameters.PrimaryScreenHeight;//得到屏幕整体高度
this.Width = x1;//设置窗体宽度
this.Height = y1;//设置窗体高度

C# 根据不同屏幕分辨率自动适应屏幕
C#
根据不同屏幕分辨率自动适应屏幕

------解决方案--------------------------------------------------------
使用
TableLayoutPanel 布局 + 设置 Dock Anchor
属性。 
------解决方案--------------------------------------------------------
如果只是组件位置的话,可以设置dock和anchor等
如果是还有其他特殊要求,就要自己根据实际分辨率来计算一些属性了 
------解决方案--------------------------------------------------------
窗体的windowstate设置为maximized,载入的时候自动铺满屏幕。
如果想做其他操作的话Rectangle
rect =
System.Windows.Forms.SystemInformation.VirtualScreen;
屏幕宽度=rect.width,高度=rect.height

wpf窗体定位

据WPF外包小编了解,通常,不需要在屏幕上明确定位窗口。而是简单地将WindowState属性设置为Normal,并忽略其他所有细节。另一方面,很少会将WindowStartupLocation属性设置为Manual,并使用Left属性和Right属性明确设置窗口的位置。

有时需要更加关注为窗口选择位置和尺寸。例如,如果创建的窗口太大而不能使用低分辨率显示器就会遇到麻烦。如果使用一个单窗口应用程序,最好的解决方法是创建可以改变尺寸的窗口。如果使用具有几个浮动窗口的应用程序,问题就没有这么简单了。

据WPF外包公司小编了解,可以限制窗口的尺寸使其支持最小的显示器,但是这会让高端用户感到沮丧(它们为了在屏幕上一次显示更多的信息,专门购买更好的显示器)。对于这种情况,通常希望在运行时决定窗口的最佳位置。为此,需要使用System.Windows.SystemParameters类来检索有关屏幕真实状态的基本信息。

SystemParameters类包含一些静态属性,从中可以得到各种有关系统设置的信息。例如,可以使用SystemParameters类来决定用户是否启用了热跟踪(hot
tracking)、拖动时显示窗口内容选项,以及其他选项。对于窗口,SystemParameters类特别有用,因为它提供的两个属性可以给出当前屏幕的分辨率:

FullPrimaryScreenHeight属性和FullPrimaryScreenWidth属性。这两个属性都非常简单,下面是一些(在运行时将窗口定位在屏幕中央的)演示代码:


double screeHeight = SystemParameters.FullPrimaryScreenHeight;

double screeWidth = SystemParameters.FullPrimaryScreenWidth;

this.Top = (screenHeight - this.Height) / 2;

this.Left = (screenWidth - this.Width) / 2;

WPF外包专家了解,尽管使用这些代码和将窗口的WindowState属性设置为CenterScreen效果是相同的,但是使用代码具有实现不同定位逻辑的灵活性,并且可以在合适的时间执行这些定位逻辑。

更好的选择是使用SystemParameters.WorkArea矩形,使窗口位于可用屏幕区域的中央。工作区域不包括停靠任务栏(以及其他停靠到桌面的工具条)的区域。


double workHeight = SystemParameters.WorkArea.Height;

double workWidth = SystemParameters.WorkArea.Width;

this.Top = (workHeight - this.Height) / 2;

this.Left = (workWidth - this.Width) / 2;

注意:

这两个示例代码都存在一个小缺点。当为窗口设置Top属性时,窗口已经是可见的了,并且窗口会被立即移动和刷新。当使用后面一行代码设置Left属性时会发生同样的过程。因此,视觉敏锐的用户会看到两次窗口移动。遗憾的是,Window类没有提供一个方法同时设置这两个位置属性。唯一的解决方法是在窗口创建之后还未通过调用Show(
)方法或ShowDialog( )方法显示之前定位窗口。

时间: 2024-08-24 22:35:13

WPF 获取屏幕分辨率(获取最大宽高)等的相关文章

WPF获取屏幕分辨率

转自:http://blog.csdn.net/w8666666/article/details/8190002 double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度double y = SystemParameters.WorkArea.Height;//得到屏幕工作区域高度double x1= SystemParameters.PrimaryScreenWidth;//得到屏幕整体宽度double y1 = SystemParamet

WPFの获取屏幕分辨率并自适应

原文:WPFの获取屏幕分辨率并自适应 double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度 double y = SystemParameters.WorkArea.Height;//得到屏幕工作区域高度 double x1= SystemParameters.PrimaryScreenWidth;//得到屏幕整体宽度 double y1 = SystemParameters.PrimaryScreenHeight;//得到屏幕整体高度

winform,wpf,winrt获取屏幕分辨率

winform 当前的屏幕除任务栏外的工作域大小     this.Width = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width;     this.Height = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height; 当前的屏幕包括任务栏的工作域大小 this.Width=System.Windows.Forms.Screen.PrimaryScre

android中的长度单位,dip、dp、px、sp及获取屏幕分辨率和密度

本文主要讲的是android中长度单位(dp.px.sp)的用法. 1.px:pixels(像素) (1).不同的设备不同的显示屏显示效果是相同的 (2).这是绝对像素,是多少就永远是多少不会改变. 一般我们形容屏幕的分辨率,例如分辨率800*480,实际表示改手机屏幕在高度上有800个像素,宽度上有400个像素,整个屏幕就是由800*480个像素点组成.但是由于我们的屏幕大小是不一样的,就会导致同样分辨率在不同尺寸的屏幕上表现不同,同分辨率下,尺寸越小的屏幕上每英寸上分布的像素点就越多,即分辨

Qt获取屏幕分辨率

http://my.oschina.net/u/1255773/blog/159557 原 Qt获取屏幕分辨率 发表于1年前(2013-09-06 11:00)   阅读(546) | 评论(0) 3人收藏此文章, 我要收藏 赞0 3月21日 深圳 OSC 源创会正在报名中,送华为海思开发板 摘要 使用Qt函数获取屏幕分辨率 Qt 屏幕分辨率 目录[-] Qt获取屏幕分辨率 单个屏幕 多个屏幕 参考: Qt获取屏幕分辨率 需要使用到QDesktopWidget,相关头文件引用: #include

安卓获取屏幕分辨率

public static Point point = new Point();//获取屏幕的大小 getWindowManager().getDefaultDisplay().getSize(point); public int XLength=point.x; //X轴的长度 public int YLength=point.y/; //Y轴的长度 一般获取屏幕分辨率的语句写在oncreate函数里面 更多关于屏幕的物理尺寸,密度的方法可以参考下面这篇博文: http://blog.csdn

在qt下获取屏幕分辨率

1,在Windows下可以使用 GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN) 获取.   2,在Linux下可以使用XDisplayWidth :XDisplayHeight ()获取.3,在QT中呢?很多人说是 QApplication::desktop()->width();QApplication::desktop()->height(); 这个方法对于单显示器模式当然没有问题.但是对于多显示器,特别是使用了扩展桌

android DisplayMetrics 获取屏幕分辨率

Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体. 为了获取DisplayMetrics 成员,首先初始化一个对象如下: DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetri

Android获取屏幕分辨率及DisplayMetrics简介

Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题. 手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率.下面简要介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体. 为了获取DisplayMetrics 成员,首先初始化一个对象如