今天热门
热点:

获取屏幕分辨率时遇到的奇怪问题,该如何准确获取,获取屏幕分辨率


System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width
System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height
以前都是使用这两个属性去获取屏幕的分辨率。但是最近发现一个比较奇怪的问题,当我调整系统DPI之后,在WINFORM程序中通过这两个属性获取到的分辨率并非在“显示设置”窗口里显示的分辨率大小,而是屏幕被截取后屏幕实际显示的宽和高。(系统标准DPI为96,假设在1280*800分辨率下我将DPI调整为200%,即192之后,通过这两个属性获取到的宽和高就是640*400.而在系统“显示设置”窗口中分辨率仍显示为1280*800);然而非常奇怪的是,在WPF程序中使用这两个属性,却可以准确获取到屏幕分辨率,即系统“显示设置”窗口中显示的分辨率。请问这是怎么一回事?在WINFORM程序中又该如何准确获取分辨率?

解决方案

private void Form1_Load(object sender, EventArgs e)
        {
            using (Graphics myGraphics = this.CreateGraphics())
            {
                MessageBox.Show(String.Format("Resolution X: {0} dpi, Resolution Y: {1} dpi", myGraphics.DpiX, myGraphics.DpiY),
                                "Windows Resolution");
            }

        }

www.zrccd.nettrue/topics/20180116/67810.htmlTechArticle获取屏幕分辨率时遇到的奇怪问题,该如何准确获取,获取屏幕分辨率 System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height 以前都是使用这两个属性去获...

相关文章

    暂无相关文章

用户评论

大家都在看