如果想让窗口在第二个屏幕中显示
public MainWindow()
{
InitializeComponent();
Screen[] _screens = Screen.AllScreens;
Screen s = Screen.AllScreens[1];
System.Drawing.Rectangle rect = s.WorkingArea;
this.Left = rect.Left;
this.Top = rect.Top;
}
如果想在拓展桌面中2个显示器同时显示一个窗口内容
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
foreach (var screen in System.Windows.Forms.Screen.AllScreens)
{
var window = new Window1
{
WindowStartupLocation = WindowStartupLocation.Manual,
WindowState = WindowState.Maximized,
WindowStyle = WindowStyle.None,
Title = screen.DeviceName,
Width = screen.Bounds.Width,
Height = screen.Bounds.Height,
Left = screen.Bounds.Left,
Top = screen.Bounds.Top,
};
window.Show();
}
}
不要忘记从 App.xaml 中删除 StartupUri="Window1.xaml"。
如果要在多个显示器中显示多个窗口,则
List<Screen> screens = Screen.AllScreens.ToList();
获取所有显示器的数量,把窗口显示到对应的屏幕上
ChildLPeriod childLPeriod = new ChildLPeriod(mainViewmodel);
childLPeriod.DataContext = mainViewmodel;
Display(childLPeriod, screens[1]);
Display函数
public void Display(Window _window, System.Windows.Forms.Screen screen)
{
Window window = _window as Window;
if (window != null)
{
window.Top = 0;
window.Left = screen.WorkingArea.Left;
window.Width = screen.WorkingArea.Width;
window.Height = screen.WorkingArea.Height;
window.Loaded += Window_loaded;
window.Show();
}
}
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xuehuavickie/article/details/130425684