我有多个与我的WPF应用程序一起使用的监视器。该应用程序全屏运行,我希望能够在用户按下按钮时切换它所在的显示器。
case Key.M:
var allScreens = System.Windows.Forms.Screen.AllScreens.ToList();
if (this.CurrentScreen < allScreens.Count - 1)
{
this.CurrentScreen++;
}
else { this.CurrentScreen = 0; }
this.WindowStartupLocation = System.Windows.WindowStartupLocation.Manual;
this.Top = allScreens[this.CurrentScreen].Bounds.Top;
this.Left = allScreens[this.CurrentScreen].Bounds.Left;
break;
我正在尝试这样做,但是this.Left总是具有值(-7)。我假设它不是让我设置它因为我是全屏,但我不是100%肯定。如何让它以全屏方式切换到另一台显示器?
答案 0 :(得分:4)
作为黑客,您可以更改窗口状态,将其发送到其他监视器并将窗口状态更改回最大化:
this.WindowState = System.Windows.WindowState.Normal;
this.Left = screen.WorkingArea.Left;
this.Top = screen.WorkingArea.Top;
this.WindowState = System.Windows.WindowState.Maximized;
它没有任何不良影响。刚试过这个。