转自:http://blog.sina.com.cn/s/blog_4c83c6bf010008zj.html

引用:http://technet.microsoft.com/zh-cn/magazine/system.windows.forms.screen.primaryscreen(VS.80).aspx

   http://msdn.microsoft.com/zh-cn/library/vstudio/system.windows.forms.screen.aspx

本文描述了一个获取及显示屏幕分辨率信息的简单方法。图1演示了使用System.Windows.Forms.Screen类可以获取的一些信息。利用这个类可以很容易地捕获到屏幕分辨率信息,但要改变屏幕分辨率仍需依靠调用API来实现。当然,改变用户的屏幕分辨率究竟是不是一个好主意还是有争议的,但在有些情况下仍是必需的(例如,要正确地显示某些图形)。
图1  显示屏幕相关信息
  该项目没有使用除默认引用外的其它引用,解决方案中只有一个主窗体和一个程序文件。

  这个程序只包含一个窗体,窗体中有一组文本框,文件框的内容是在窗体加载时准备好的。文本框用来显示设备名称、屏幕边界、设备是否是主显示器、显示器的工作区、以及与当前显示器设置关联的像素位值。

  具体实现步骤:
  1.  启动Visual Studio 2005,新建一个C# Windows应用程序项目。名称为“ScreenInfo”。

  2.  设置窗体Form1的(Name)属性为“frmMain”,Text属性为“屏幕信息”。
  3.  向窗体中添加一个GroupBox控件,设置其(Name)属性为“gbxScreen”,Text属性为“主屏幕信息”。

  4.  向窗体中拖放5个Label控件,设置其Text属性分别为“设备名称:”、“设备边界:”、“是否主设备:”、“工作区:”、“每象素位数:”。

  5.  再向窗体中拖放5个TextBox控件,设置其(Name)属性分别为:txtName、txtBounds、txtType、txtWorkArea、txtBitsPerPixel。

  6.  再向窗体中添加一个Button控件,设置其(Name)属性为“btnOK”,Text属性为“确定”。

  调整窗体和各个控件的大小及位置,以适合窗口。

  关于屏幕的信息是通过使用System.Windows.Forms.Screen类获取的。Screen类表示单个系统上的一个或多个显示设备,常用的属性有:
  · PrimaryScreen 属性:获取主显示设备。
    对于单显示系统来说,主显示是唯一的显示设备。

  · Bounds 属性:获取屏幕的边界。属性值是一个Rectangle结构的值。

  · DeviceName 属性:获取与显示关联的设备名称。

  · Primary 属性:获取一个值,该值指示某个显示是否为主设备。
    如果此显示是主显示,则为 true;否则为 false。

  · WorkingArea 属性:获取显示器的工作区。
   属性值是一个Rectangle结构的值。工作区是显示器的桌面区域,不包括任务栏、停靠窗口和停靠工具栏。

  · BitsPerPixel 属性:获取与数据的一个像素相关联的内存位数。
    在处理位图时,屏幕的每个像素的位数很有用。

  代码非常简单,如下所示:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace ScreenInfo

{

public partial class frmMain : Form

{

public frmMain()

{

InitializeComponent();

}

private void frmMain_Load(object sender, EventArgs e)

{

System.Windows.Forms.Screen scr = System.Windows.Forms.Screen.PrimaryScreen;

txtBitsPerPixel.Text = scr.BitsPerPixel.ToString();

txtBounds.Text = scr.Bounds.ToString();

txtName.Text = scr.DeviceName.ToString();

txtType.Text = scr.Primary.ToString();

txtWorkArea.Text = scr.WorkingArea.ToString();

}

private void btnOK_Click(object sender, EventArgs e)

{

Application.Exit();

}

}

}

  当窗体加载时,会创建System.Windows.Forms.Screen类的一个实例作为主屏幕。Screen对象创建后,其属性值用来设置窗体中文本框中显示的值。

转载于:https://www.cnblogs.com/MarcLiu/p/3725484.html

c#获取屏幕分辨率信息相关推荐

  1. Android的单位px,pt,dp,sp总结和获取屏幕分辨率

    px: pixels(像素). 是屏幕中可以显示的最小单位元素,px是设备密度有关的,不同设备显示效果不同.因为由于不同的设备密度不同,密度就是单位英寸的像素不同,在不同的手机上显示的大小就不同 pt ...

  2. adb 查看屏幕大小_adb shell wm 命令获取屏幕相关信息

    adb shell wm命令获取屏幕相关信息 Tags: adb_shell wm命令在4.x才有的,不同的版本下部分参数不同 wm [subcommand] [options] 获取屏幕大小:wm ...

  3. JS通过IE8获取屏幕分辨率不正确的解决方法

    1. 需要根据不同的分辨率做屏幕适配,但是在IE8中打开页面,每一台电脑设置的分辨率都一样,但是JS代码获取到的分辨率却不同.下图为获取屏幕分辨率的代码: 2. 本机设置的分辨率: 3. 在IE8浏览 ...

  4. C#获取屏幕分辨率(大小)

    using System.Windows.Forms;             获取屏幕分辨率            int SH = Screen.PrimaryScreen.Bounds.Heig ...

  5. Qt界面制作(QSS、获取屏幕分辨率、自定义控件、版权)

    源码下载地址: https://download.csdn.net/download/qq78442761/10534055 程序运行截图: 程序版权 程序结构图如下: 主要就几点: 1.QSS 2. ...

  6. IOS获取屏幕分辨率

    获取屏幕分辨率是个很有用的功能,尤其在一些游戏相关的开发中,图形的绘制与屏幕分辨率密不可分.得到当前屏幕的分辨率是必不可少的支持. 获取屏幕分辨率可以两步走 1.得到当前屏幕的尺寸: CGRect r ...

  7. Android手机获取屏幕分辨率高度因虚拟导航栏带来的问题

    大家都知道,Android系统在4.4(KITKAT)版本后,增加了更炫的交互,并且对于标题栏和状态栏也增加了可定制化,于此同时在获取手机分辨率的时候一些旧方法已经不那么好使了. 常用获取屏幕分辨率的 ...

  8. MATLAB获取屏幕分辨率

    1. 获取分辨率 本来设计程序按照1920x1080运行的,后面调了一下系统缩放,分辨率就变了,所以为了更灵活的使用,还是先获取再使用吧 matlab获取屏幕分辨率命令: get(0,'ScreenS ...

  9. Android kotlin工具类获取屏幕分辨率及宽高

    前言 获取屏幕相关工具DisplayUtil class DisplayUtil {companion object {/*** 获取屏幕宽度*/fun getScreenWidth(context: ...

最新文章

  1. 电子计算机微机调试员,电子计算机(微机)装配调试员国家职业标准
  2. 《预训练周刊》第17期:深度迁移学习与数据增强改善2型糖尿病预测、钢琴补谱应用...
  3. 拿下两个世界第一,阿里人机对话模型成人工智能国际通用标准
  4. python构建网站flask_30分钟搭建Python的Flask框架并在上面编写第一个应用
  5. matlab正余弦画心形图案
  6. 陈润生院士:我给自己取了个微信名,叫“微不足道”
  7. Qt文档阅读笔记-编写应用脚本解析与实例
  8. 开源人员任务分配_开源财富分配是否公平?
  9. flink离线mysql_Flink 流模式跑离线任务
  10. Mybatis新发现—在idea中数据库操作出现了异常,最好的查错助手居然是这个!
  11. Tensorflow——Dropout(解决过拟合问题)
  12. 第四季-专题13-总线设备驱动模型
  13. kubernetes视频教程笔记 (39)-高可用的K8S构建-kubeadm部署安装
  14. 阿里云 ubuntu 安装 curl
  15. 阿里云云计算 34 RDS的概念
  16. ibm服务器刷主板系统,IBM X3850 X5服务器更换主板后修改主板信息
  17. 支持jsp、php的免费空间
  18. 佳文分享:CAP定理
  19. NOIP2018差点退役+心态爆炸杂思
  20. java进阶----集合

热门文章

  1. c读取txt文件_第93天:文件读写
  2. Leetcode--8
  3. leetcode —— 面试题29. 顺时针打印矩阵
  4. leetcode - 56. 合并区间
  5. leetcode - 1191. K 次串联后最大子数组之和
  6. 网络爬虫之java基础(Ⅰ)
  7. 摄影测量--相对定向元素与绝对定向元素
  8. html获取子节点数量,css判断子元素个数
  9. 数据可视化系列(一):Matplotlib初相识
  10. 【入门6】函数与结构体(今天刷洛谷了嘛)