最近碰到一个开发项目,该项目需要两块显示器(如下图所示),主屏幕用于显示网页,分屏幕用于显示客户端界面。该项目用到的客户端是用C# winform编写的。抛开客户端处理的业务逻辑不谈,主要谈谈在winform中如何让界面出现在第二块屏幕的中间。

Screen类
C#提供的Screen类可以解决界面位置问题:
-获取所有的屏幕对象:Screen sc[] = Screen.AllScreens;
-获取当前屏幕的名称:string CurrentScreenName = Screen.FromControl(this).DeviceName;
-获取当前屏幕对象:Screen CurrentScreen = Screen.FromControl(this);
如果只需要界面出现在左边屏幕正中间(如下图所示),那代码只需要这样写就行:

this.StartPosition = FormStartPosition.CenterScreen;


但是如果需求是界面出现在右边屏幕的正中间(如下图所示)就必须按照下面的代码,重写Onshown方法或者添加代码至OnLoad事件。

        protected override void OnShown(EventArgs e){Screen[] sc= Screen.AllScreens;if (sc.Count() == 2){//我的显示器sc[0]是第二块屏幕,this.Left = sc[0].Bounds.Left + (sc[1].Bounds.Width - this.Width) / 2;this.Top = (sc[0].Bounds.Height - this.Height) / 2;}base.OnShown(e);}

C#winform应用程序界面显示在分屏幕上相关推荐

  1. 扩展桌面:扩展屏幕没有连接,但程序还在扩展屏幕上,在看不到这个屏幕的情况下,怎么把程序窗口拉回来

    扩展桌面:扩展屏幕没有连接,但程序还在扩展屏幕上,在看不到这个屏幕的情况下,怎么把程序窗口拉回来 打开这个程序后,点击这个程序,然后按住Alt + 空格键,选择最大化,即可将程序窗口在本窗口最大化显示 ...

  2. 图像模块,实验三,二维码读取程序,显示在屏幕上

    步骤 1.运行示例二维码图像,生成二维码,读取二维码 看下效果. 需要读懂程序. 建议看星瞳的视频教程. 2.结合LCD显示二维码信息. 新建一个程序 把LCDtest.py的程序拷贝进行. 然后在里 ...

  3. java猴子分桃_java编写程序五只猴子分海滩上的一堆桃子答案

    下面给大家分享的编程题是和猴子分桃有关的内容,那么这道题目是怎样的呢?这道题目又应该如何来做解答?一起来看看具体的题目内容和答案吧. 首先我们要来看一下问题,下面是具体的题目. 一.题目 现在,在海滩 ...

  4. 多屏幕切换到但屏幕,有软件无法在当前屏幕上无法显示

    长春子问: 多屏幕切换到但屏幕,有软件无法在当前屏幕上无法显示,重启也不好用.咋办? 释然答: 参看 ​​​​​​双屏切换单屏,之前在另一显示器显示的软件窗口现无法显示解决最简单的方法_Yum_Lon ...

  5. win8如何锁定计算机,把文档或者应用固定锁在win8电脑的开始屏幕上的方法

    我们在win8系统的使用,看到有用户提问,可以把自己常用的软件或者文档固定在开始菜单的屏幕上吗?这样自己下次就可以快速的打开操作,是可以的哦,今天小编就来跟大家分享一下具体的把文档或者应用固定锁在wi ...

  6. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...

    怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案  提问时间: 2011-12-16  22个赞 回答:这个图形对吧? * *** ...

  7. android 从服务端获取的图片怎么适配不同分屏幕的手机,移动端的适配|切图|标注...

    年前最后一个工作日,完成这篇干货- 这篇文章的目的是想从更深的原理层去找到一些设计规范的原因,比如为什么要选用@2x的750*1334做基础设计稿? 开发拿到设计基础稿是如何操作适配的? 基础稿是如何 ...

  8. 日积(Running)月累(ZSSURE):WCF学习之“通过事件绑定控制WinForm宿主程序主界面控件”

    背景: WCF服务需要寄宿到相应的可运行进程中执行,常见的有四种寄宿,分别是控制台程序.WinForm程序.IIS和Windows服务.之前学习老A博客和<WCF全面解析>时最常用到的是控 ...

  9. 编写程序创建一个通讯录文件,在其中存入10位同学的姓名、年龄、电话号码,并在屏幕上输出第2、4、6、8、10位同学的信息

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p257 习题8 8.编写程序创建一个通讯录文件,在其中存入10位同学的姓名.年龄.电话号码,并在屏幕上 ...

最新文章

  1. Kerberos协议
  2. 不止代码:保留道路(ybtoj 最小生成树)
  3. 训练作用_感觉统合是什么意思,感觉统合训练有什么作用
  4. [学]《Python 核心编程》学习笔记(三)
  5. Leetcode 323.无向连通图中的连通分量个数
  6. windows10 右键 manage 没反应
  7. 高德地图上加入坐标拾取、轨迹、点标记、poi搜索等
  8. wireshark数据包分析 中职网络安全
  9. 在IDEA中如何使用eclipse快捷键
  10. 【HITB GSEC CTF 2017】1000levels
  11. 基于SSM(Spring+SpringMVC+MyBatis)的外卖点餐管理系统
  12. Spring中的事务控制(Transacion Management with Spring)
  13. python下tkinter模块和mysql构建图书管理系统实验
  14. 文章阅读——Mysql技术内幕
  15. Mysql 与ES(Elastic Search)对比
  16. copy.copy()与copy.deepcopy()的详解
  17. 带有三角函数的计算机,三角函数计算器
  18. UWP ComboBox 样式的问题及改善
  19. 【好诗选读】新春诗会作品合集|黄晓平 蒋德明 徐书遐|刘红立 孟萌 刘东宏
  20. 统计专业人数。本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。

热门文章

  1. HDU2066一个人的旅行---(多起点多终点最短路径)
  2. 面试总结(CSS 的盒模型?、CSS 中选择器的优先级以及 CSS 权重如何计算?、CSS 中哪些属性可继承,哪些不可以?、CSS 单位中 px、em 和 rem 的区别?、rem 适配....)
  3. 我的创作纪念日,成为创作者的第256天!
  4. ZCMU OJ 5217: 翻纸牌
  5. k8s_deployment 以及灰度发布、滚动发布和蓝绿发布的零散笔记
  6. 通过浏览器访问linux服务器文件(图片)
  7. 微信小程序之课程选择器
  8. 北大医院马主任谈医疗行业IT运维难题
  9. mysql插入并更新(on duplicate key update)
  10. python队列实现