zoukankan      html  css  js  c++  java
  • c#获取屏幕分辨率信息

    转自: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对象创建后,其属性值用来设置窗体中文本框中显示的值。

  • 相关阅读:
    js截取字符串区分汉字字母代码
    List 去处自定义重复对象方法
    63. Unique Paths II
    62. Unique Paths
    388. Longest Absolute File Path
    41. First Missing Positive
    140. Word Break II
    139. Word Break
    239. Sliding Window Maximum
    5. Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/MarcLiu/p/3725484.html
Copyright © 2011-2022 走看看