【问题标题】:how to launch a second application in a second screen in WPF?如何在 WPF 的第二个屏幕中启动第二个应用程序?
【发布时间】:2015-05-10 18:06:55
【问题描述】:

我实际上在开发两个用于跟踪的小wpf应用程序,一个在主计算机上,您可以将飞行员的时间写在上面,第二个必须在大屏幕上显示连接到hdmi中的主计算机并显示飞行员的时间。

我曾经做的一切都很好。

但是当我启动第一个应用程序时,我希望第二个应用程序在第二个屏幕中自动启动。我只找到了使用 Forms 包的解决方案,例如:

System.Windows.Forms.Screen.AllScreens

但我使用 WPF,因此无法访问 System.Windows.Forms。

任何人作为可能的解决方案的想法? 非常感谢!

【问题讨论】:

  • this.Location = Screen.AllScreens[1].WorkingArea.Location; 你试过用这个吗? 1 是第二台显示器,0 是第一台。

标签: c# wpf screen launcher launching-application


【解决方案1】:

即使它是一个 WPF 应用程序,您仍然可以引用 System.Windows.Forms。 只需在解决方案资源管理器中右键单击项目,添加引用,然后选择 System.Windows.Forms。

然后使用如下内容:(您还需要引用 System.Drawing)

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        this.MaximizeToSecondaryMonitor();
    }

    public void MaximizeToSecondaryMonitor()
    {
        var secondaryScreen = Screen.AllScreens.Where(s => !s.Primary).FirstOrDefault();

        if (secondaryScreen != null)
        {
            var workingArea = secondaryScreen.WorkingArea;
            this.Left = workingArea.Left;
            this.Top = workingArea.Top;
            this.Width = workingArea.Width;
            this.Height = workingArea.Height;

            if (this.IsLoaded)
            {
                this.WindowState = WindowState.Maximized;
            }
        }
    }
}

code taken from here

【讨论】:

  • 从 OnLoaded 启动时效果更好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多