WPF多屏显示 您所在的位置:网站首页 屏幕用时显示 WPF多屏显示

WPF多屏显示

2024-05-17 17:43| 来源: 网络整理| 查看: 265

目录WPF多屏显示实现代码实现原理注意事项

WPF多屏显示 实现代码

需要在分屏显示的窗体

需要在分屏显示的窗体后台代码

public partial class FrmSubScreen : Window { public FrmSubScreen() { InitializeComponent(); this.Loaded += (s, e) => { foreach (Screen scr in Screen.AllScreens) { if (!scr.Primary) { //设置窗体位置 WindowStartupLocation = WindowStartupLocation.Manual; Left = scr.WorkingArea.Left; Top = scr.WorkingArea.Top; WindowState = WindowState.Maximized; break; } } }; } }

让窗体在分屏显示的代码

public class SecondaryScreen { public static void Display() { var screens = Screen.AllScreens; if (Screen.AllScreens.Count()>=2) { Dispatcher.CurrentDispatcher.Invoke(()=> { try { FrmSubScreen subScreen = new FrmSubScreen(); subScreen.Show(); } catch (Exception e) { Logger.Default.Error(e.Message,e.StackTrace); } }); } } } 实现原理

假设屏幕分辨率是1920*1080,有两屏幕,多屏的情况下主屏的左上角的坐标为(0,0),第二个屏幕左上角坐标是(1920,0)。双屏显示就是让窗体自动偏移到指定的屏幕中。

例如:

Left = scr.WorkingArea.Left; Top = scr.WorkingArea.Top; 注意事项

需要特别注意:Window.WindowState属性的设置,如果在Xaml代码中直接设置最大化,那么无论后续如何设置分屏窗口都会直接显示在主屏幕中。

解决方案:

在Loaded时设置WindowState = WindowState.Maximized



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有