var h = Screen.PrimaryScreen.Bounds.Height;
这样拿到的是分辨率下的尺寸,也就是说不能判定屏幕的尺寸,只能拿到分辨率下的像素,我们程序需要判断显示器是4:3的还是16:9的。
哪位大牛告诉我一下。
宽/高=屏幕比例,就可能得到你想要的4:3或者16:9
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 }
我的意思是Screen.PrimaryScreen.Bounds.Width拿到的是分辨率的高度,而不是屏幕的高度。显示设置为1024*768就拿到的是1024,设置成1440就拿到的是1440,这样不能算出显示器屏幕是否是4:3.因为在宽屏里也可以设置成1024*768或1440.
@hot's: ...