WPF全屏应用程序 - 多个监视器

时间:2011-06-23 12:01:23

标签: wpf multiple-monitors

我有多个与我的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%肯定。如何让它以全屏方式切换到另一台显示器?

1 个答案:

答案 0 :(得分:4)

作为黑客,您可以更改窗口状态,将其发送到其他监视器并将窗口状态更改回最大化:

this.WindowState = System.Windows.WindowState.Normal;
this.Left = screen.WorkingArea.Left;
this.Top = screen.WorkingArea.Top;
this.WindowState = System.Windows.WindowState.Maximized;

它没有任何不良影响。刚试过这个。