实例说明
获取桌面分辨率可以使用API函数GetDeviceCaps,但API函数参数较多,使用不方便,如何更方便的获取桌面分辨率呢?在本例中,通过读取Screen对象的属性,来获取桌面分辨率信息,以像素为单位。运行本例,效果如图1.41所示。
技术要点
C#中提供了Screen对象,在该对象中封装了屏幕相关信息。可以通过读取Screen对象的相关属性,来获取屏幕的信息,Screen.PrimaryScreen.WorkingArea.Width用于读取桌面宽度;Screen.PrimaryScreen.WorkingArea.Height可以读取桌面的高度。下面介绍一下相关属性。
Screen.PrimaryScreen.WorkingArea属性用于获取显示器的工作区。工作区是显示器的桌面区域,不包括任务栏、停靠窗口和停靠工具栏。其结构如下:
public Rectangle WorkingArea { get; }
l 属性值:一个Rectangle,表示显示器的工作区。
实现过程
(1)创建一个项目,将其命名为Ex01_41,默认窗体为Form1。
(2)在Form1窗体上添加一个Button控件,用来获取桌面大小;添加两个TextBox控件,用来输出所获取的桌面大小。
(3)主要程序代码。
private void button1_Click(object sender, EventArgs e)
{
textBox2.Text = Screen.PrimaryScreen.WorkingArea.Height.ToString( );
textBox1.Text = Screen.PrimaryScreen.WorkingArea.Width.ToString( );
}
举一反三
根据本实例,读者可以开发以下程序。
根据显示器的分辨率信息设置窗体大小及位置。
根据显示器的分辨率信息调整窗体界面。