首页 新闻 搜索 专区 学院

WinForm 如何获取显示器屏幕尺寸?

0
[已解决问题] 解决于 2015-10-14 16:52

var h = Screen.PrimaryScreen.Bounds.Height;

 

这样拿到的是分辨率下的尺寸,也就是说不能判定屏幕的尺寸,只能拿到分辨率下的像素,我们程序需要判断显示器是4:3的还是16:9的。

哪位大牛告诉我一下。

Eysa的主页 Eysa | 初学一级 | 园豆:70
提问于:2015-10-10 17:13
< >
分享
最佳答案
1

宽/高=屏幕比例,就可能得到你想要的4:3或者16:9

奖励园豆:5
少年包青娃 | 菜鸟二级 |园豆:207 | 2015-10-10 17:31
其他回答(1)
0
 1 //获取屏幕比例
 2 private void button1_Click(object sender, EventArgs e)
 3 {
 4     int nGCD = GetGreatestCommonDivisor(Screen.PrimaryScreen.Bounds.Height, Screen.PrimaryScreen.Bounds.Width);
 5     string str = string.Format("{0}:{1}", Screen.PrimaryScreen.Bounds.Height / nGCD, Screen.PrimaryScreen.Bounds.Width / nGCD);
 6     MessageBox.Show(str);
 7 }
 8 
 9 static int GetGreatestCommonDivisor(int a, int b)
10 {
11     return b == 0 ? a : GetGreatestCommonDivisor(b, a % b);
12 }
JackWang-CUMT | 园豆:2826 (老鸟四级) | 2015-10-11 08:19

 我的意思是Screen.PrimaryScreen.Bounds.Width拿到的是分辨率的高度,而不是屏幕的高度。显示设置为1024*768就拿到的是1024,设置成1440就拿到的是1440,这样不能算出显示器屏幕是否是4:3.因为在宽屏里也可以设置成1024*768或1440.

支持(0) 反对(0) Eysa | 园豆:70 (初学一级) | 2015-10-12 08:35

@hot's:  ...

支持(0) 反对(0) Eysa | 园豆:70 (初学一级) | 2015-10-12 15:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册