WPF开始在主屏WPF

2023-09-04 00:20:21 作者:死于脚气攻心

如果用户有多个屏幕,

我怎么能开始在主屏幕上的应用程序或选择屏幕上启动

how can I start application in primary screen or chosen screen at start up

推荐答案

继承人的基本code。它使用的WinForms,但我不知道纯WPF的解决方案。

Heres the basic code. It uses WinForms but I dont know of a pure WPF solution.

using System;
using System.Windows;
using System.Windows.Forms;

namespace Foo
{
    public class WindowUtility
    {
        public static void MoveToMonitor(Window window, int monitorId, bool maximize)
        {
            Screen[] screens = Screen.AllScreens;

            int screenId = monitorId - 1;

            if (screens.Length > 1 && screenId < screens.Length)
            {
                var screen = screens[screenId];
                var area = screen.WorkingArea;

                if (maximize)
                {
                    window.Left = area.Left;
                    window.Top = area.Top;
                    window.Width = area.Width;
                    window.Height = area.Height;
                }
                else
                {
                    window.Left = area.Left;
                    window.Top = area.Top;
                }
            }
        }
    }
}