共计 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;
}
}
最后要注意的是:
- WindowStartupLocation = WindowStartupLocation.Manual;
- WindowStyle = WindowStyle.None;
这两个设置如果改成别的,会导致设置到副屏的时候失败。
正文完