實例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 }
舉一反三
根據本實例,讀者可以實現以下功能。
◇ 根據顯示器的分辨率設置窗體大小及位置。
◇ 根據顯示器的分辨率調整窗體。
推薦閱讀
- Learning Single:page Web Application Development
- Android 9 Development Cookbook(Third Edition)
- C語言最佳實踐
- Python 3網絡爬蟲實戰
- Data Analysis with Stata
- 人人都是網站分析師:從分析師的視角理解網站和解讀數據
- Advanced Oracle PL/SQL Developer's Guide(Second Edition)
- C語言課程設計
- R大數據分析實用指南
- 運用后端技術處理業務邏輯(藍橋杯軟件大賽培訓教材-Java方向)
- Learning R for Geospatial Analysis
- 區塊鏈架構之美:從比特幣、以太坊、超級賬本看區塊鏈架構設計
- 零基礎學Java第2版
- 原型設計:打造成功產品的實用方法及實踐
- Visual C++程序設計全程指南