WPF 多屏时窗口显示到其他屏幕

555次阅读
没有评论

共计 648 个字符,预计需要花费 2 分钟才能阅读完成。

其实多屏幕跟一个屏幕上显示到指定位置是一样的

如果屏幕的分辨率都是 1920*1080

那么屏幕 1 的起始坐标是 0,0,屏幕 2 的坐标就是 1920,0,以此类推

所以设置到别的屏幕就是设置窗体的坐标,示例代码如下:

public static void ShowScreen(this Window win, int index)
{if (index >= Screen.AllScreens.Length)
    {throw new Exception(" 指定显示器的下标已越界。");
    }

    Screen screen = Screen.AllScreens[index];

    ShowScreen(win, screen);
}

public static void ShowScreen(this Window win, Screen screen)
{if (screen == null)
    {win.Hide();
    }
    else
    {
        win.Top = screen.WorkingArea.Top;
        win.Left = screen.WorkingArea.Left;
        win.Width = SystemParameters.PrimaryScreenWidth;
        win.Height = SystemParameters.PrimaryScreenHeight;
    }
}

最后要注意的是:

  1. WindowStartupLocation = WindowStartupLocation.Manual;
  2. WindowStyle = WindowStyle.None;

这两个设置如果改成别的,会导致设置到副屏的时候失败。

正文完
 0
flames
版权声明:本站原创文章,由 flames 于2023-10-18发表,共计648字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)