我已经好好Screen.PrimaryScreen.Bounds.Size待了一段时间,但在连接到我的大屏幕电视的Windows7电脑上,它给了我不正确的价值.
我在其他地方读过尝试,SystemInformation.PrimaryMonitorSize但是给出了相同的值.
当我右键单击桌面以获得屏幕分辨率时,它说1920x1080.以上两个给了我1280x720.
我也试过WPF版本:
var w = System.Windows.SystemParameters.PrimaryScreenWidth;
var h = System.Windows.SystemParameters.PrimaryScreenHeight;
MessageBox.Show(new Size((int)w, (int)h).ToString());
Run Code Online (Sandbox Code Playgroud)
显示尺寸已通过(右键单击桌面)Personalize > Desktop选项更改为150%(因为屏幕为60"并且您坐得很远).
如何检测这个,以便从上面返回的值可以调整?
注意:我已经发现如何通过右键单击可执行文件来解决这个问题并调整兼容性以禁用DPI虚拟化,但我仍然需要一个编程解决方案,所以我不必让用户自己调整它:请参阅 - http: //msdn.microsoft.com/en-us/library/dd464660(VS.85).aspx#dpi_virtualization
我有一个2监视器和一个启动WPF窗口的WinForm应用程序.我想获得WinForm所在的屏幕,并在同一屏幕上显示WPF窗口.我怎样才能做到这一点?
我正在使用以下代码:
protected override void OnSourceInitialized(EventArgs e)
{
...
....
HwndSource source = PresentationSource.FromVisual(this) as HwndSource;
...
...
}
Run Code Online (Sandbox Code Playgroud)
在某些系统中,"源"值出现为空,我无法找到原因......