赛派号

一个显示器多画面 C#winform应用程序界面显示在分屏幕上

最近碰到一个开发项目,该项目需要两块显示器(如下图所示),主屏幕用于显示网页,分屏幕用于显示客户端界面。该项目用到的客户端是用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); }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lsinopec@gmail.com举报,一经查实,本站将立刻删除。

上一篇 没有了

下一篇没有了