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

  • 相关阅读:
    团队题目及相关介绍
    团队介绍
    寒假8
    寒假作业七
    寒假7
    寒假作业六
    寒假6
    寒假作业五
    寒假5
    寒假作四
  • 原文地址:https://www.cnblogs.com/MarcLiu/p/3725484.html
Copyright © 2020-2023  润新知