当前位置: 首页 > news >正文

【WPF】多屏幕展示

使用环境为.Net Framework,如果有.Net 6+的解决方案,欢迎交流。

话不多说,先上代码!

 /// <summary>/// Window窗口展示设置/// </summary>/// <param name="monitor"></param>/// <param name="window"></param>public static void ShowOnMonitor(int monitor, ImageWindow window, List<string> paths){Screen[] screens = Screen.AllScreens;window.WindowStyle = WindowStyle.None;window.WindowStartupLocation = WindowStartupLocation.Manual;int gap19201080 = 6;window.Left = screens[monitor].Bounds.Left - gap19201080;window.Top = screens[monitor].Bounds.Top;window.Height = screens[monitor].Bounds.Height + gap19201080;window.Width = screens[monitor].Bounds.Width + (gap19201080 * 2);window.imagePaths = paths;window.Title = "显示器" + (monitor + 1);window.Show();}

说几点注意事项

1、在MainWindow做主界面,其他展示界面都是通过主界面弹出的。
这样做的好处是可以再弹窗处通过MainWindow mainWindow = System.Windows.Application.Current.MainWindow as MainWindow;获取主窗口对象,从而操作其他弹窗。
2、window中不要使用Max最大化窗口,这个会导致所有子弹窗均在主窗口弹出,达不到多屏的效果。
3、gap19201080 这个变量的作用再运行的时候就能知道什么意思,是多屏幕设置宽高之后左,右,下三个方向会有缝隙,这个是用来排除缝隙的,如果有更好的做法欢迎交流。
4、Bounds这个是整个屏幕,包括任务栏,WorkingArea这个是去掉任务栏计算的,如果看一下API就能看到的。

相关文章:

  • 【QGIS】软件下载安装及GIS4WRF插件使用
  • 百度amis框架经验分享
  • 第二十节:学习Redis缓存数据库实现增删改查(自学Spring boot 3.x的第五天)
  • 给子组件传递dom元素引用实例方案
  • OJ在线评测系统 前端创建题目(增) 更新题目(改) 题目列表(查) 以及做题页面的开发 基于VUECLI脚手架画界面
  • Docker部署MongoDB教程
  • Spring 事务管理-AOP
  • python学习-13【网络编程】
  • SBB Usage Parameters
  • Supervision 计算机视觉工具
  • 【网络安全】网络基础第一阶段——第四节:网络协议基础---- VRRP与网络架构设计
  • 基站定位与Wi-Fi定位?看这篇就够了
  • C++——认识STL及使用及实现第一个容器string
  • 关于若依前端界面缓存问题
  • 【Tomcat】常见面试题整理 共34题
  • Google 是如何开发 Web 框架的
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • AHK 中 = 和 == 等比较运算符的用法
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • C++类的相互关联
  • Docker下部署自己的LNMP工作环境
  • emacs初体验
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • javascript从右向左截取指定位数字符的3种方法
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • JS学习笔记——闭包
  • Map集合、散列表、红黑树介绍
  • ng6--错误信息小结(持续更新)
  • nginx 负载服务器优化
  • Odoo domain写法及运用
  • Sass Day-01
  • SpriteKit 技巧之添加背景图片
  • Unix命令
  • 初识 beanstalkd
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 简析gRPC client 连接管理
  • 看域名解析域名安全对SEO的影响
  • 力扣(LeetCode)21
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 新手搭建网站的主要流程
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 正则与JS中的正则
  • hi-nginx-1.3.4编译安装
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • #QT(TCP网络编程-服务端)
  • (10)ATF MMU转换表
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (31)对象的克隆
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (NSDate) 时间 (time )比较
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (三)docker:Dockerfile构建容器运行jar包