【发布时间】:2018-04-14 08:48:06
【问题描述】:
我在尝试访问 C# .NET 控制台应用程序中的系统屏幕尺寸时遇到了一些非常奇怪的行为。奇怪的是,我可以访问“System.Windows.SystemParameters.PrimaryScreenHeight”并获得恰好是实际屏幕高度一半的双精度值,而我可以访问“System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height”并获得恰好是实际屏幕一半的双精度值高度。单独调用,两个返回都是错误的......但是,如果我只是调用 SystemParameters 屏幕高度并将其保存到我再也不会触摸的虚拟双变量中,Forms.Screen 调用的返回突然开始工作 正确并返回准确的屏幕高度。
double dummyH = System.Windows.SystemParameters.PrimaryScreenHeight;
double dummyW = System.Windows.SystemParameters.PrimaryScreenWidth;
double height = Screen.PrimaryScreen.Bounds.Height;
double width = Screen.PrimaryScreen.Bounds.Width;
Console.WriteLine("System Param Height: " + dummyH);
Console.WriteLine("System Param Width: " + dummyW);
Console.WriteLine("System Screen Height: " + height);
Console.WriteLine("System Screen Width: " + width);
这是我发布的一个 3 分钟 YouTube 视频:http://www.youtube.com/watch?v=y_HnF8f0GFQ&hd=1
谢谢!
【问题讨论】:
-
您的设置中有 200% 作为缩放比例,我希望其中一个返回像素值,另一个返回未缩放像素的值
-
但单独访问,两者都返回相同(不正确)的值。只有一起访问时,其中一个值才会更改并变为正确!