上QQ阅读APP看书,第一时间看更新
实例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 }
举一反三
根据本实例,读者可以实现以下功能。
◇ 根据显示器的分辨率设置窗体大小及位置。
◇ 根据显示器的分辨率调整窗体。