C#开发案例精粹
上QQ阅读APP看书,第一时间看更新

bt2-L 实例009 获取桌面分辨率

实例说明

获取桌面分辨率可以使用API函数GetDeviceCaps,但该函数参数较多,使用不方便。如何更方便地获取桌面分辨率呢?在本实例中,通过读取Screen对象的属性来获取桌面分辨率(以px为单位)。实例运行结果如图1.10所示。

图1.10 获取桌面分辨率

技术要点

C#中提供了Screen对象,在该对象中封装了屏幕相关信息。可以通过读取Screen对象的相关属性来获取屏幕的信息,其中Screen.PrimaryScreen.WorkingArea.Width属性用于获取桌面宽度,Screen.PrimaryScreen.WorkingArea.Height属性用于获取桌面高度。

Screen.PrimaryScreen.WorkingArea属性用于获取显示器的工作区。工作区是显示器的桌面区域,不包括任务栏、停靠窗体和停靠工具栏。其语法如下:

public Rectangle WorkingArea { get; }

属性值为一个Rectangle,表示显示器的工作区。

实现过程

01 新建一个项目,将其命名为DeskSize,默认窗体为Form1。

02 在Form1窗体上添加一个Button控件,用来获取桌面分辨率;添加两个TextBox控件,用来输出所获取的桌面分辨率。

03 主要代码。

01   private void button1_Click(object sender, EventArgs e)
02   {
03       //在textBox2中显示桌面的高度
04       textBox2.Text = Screen.PrimaryScreen.WorkingArea.Height.ToString();
05       //在textBox1中显示桌面的宽度
06       textBox1.Text = Screen.PrimaryScreen.WorkingArea.Width.ToString();
07   }

举一反三

根据本实例,读者可以实现以下功能。

根据显示器的分辨率设置窗体大小及位置。

根据显示器的分辨率调整窗体。