c# - 如何在 WPF 的第二个屏幕中启动第二个应用程序?

标签 c# wpf screen launcher launching-application

我实际上在为轨道开发两个小的 wpf 应用程序,一个在主机上,你可以在上面写飞行员的时间,第二个必须在大屏幕上显示连接到主机上的 hdmi 并只显示飞行员的时间。

我曾经让一切都很好。

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

System.Windows.Forms.Screen.AllScreens

但我使用 WPF,所以我无法访问 System.Windows.Forms。

有人知道可能的解决方案吗? 非常感谢!

最佳答案

即使它是一个 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

关于c# - 如何在 WPF 的第二个屏幕中启动第二个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28944472/

相关文章:

c# - 在一个文本框中进行多次搜索 my sql c#

javascript - Unity3d : How to use dll from Javascript?

c# - 有没有办法将 .mp4 格式音频转换为内存中的 .wav 格式?

algorithm - 如何优化矩形布局

mobile - 这个 max-width (@media) CSS 从何而来?

c# - 如何使用位置用户名或 ID 获取在特定位置的 Instagram 中上传照片的所有用户?

c# - 如何解决 "Procedure or function has too many arguments specified"异常?

c# - ping 子网时程序锁定

wpf - 从 ListView 到其父级的冒泡滚动事件

java - 每秒捕获屏幕图像并将其显示在应用程序上是否有效?