c# Winform 开发分屏显示应用程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# Winform 开发分屏显示应用程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3379字,纯文字阅读大概需要5分钟。
内容图文
分屏显示即可把一台主机内运行的多个程序分别显示在不同的两个(或多个)屏幕上。目前市面上主流的显卡都支持分屏显示(显示双屏幕),如果需要显示2个以上的屏幕,则应使用“拖机卡”类的硬件。
设置分屏显示的两种方法如下:
1、用两个显卡连接两台显示器,进入系统后,分清楚哪一个是主显卡,在桌面空白处右键单击,点属性,然后在窗口中点“设置”选项卡,会看到有两个显示,分别是1(主显卡)和2(副显卡),点击那个2,在下面的“将windows桌面扩展到该监视器”打上对号,确定后,你试着把鼠标往主显示器右边界移动,再移动,鼠标会跑到第二台显示器上去了,这样,同样运行几个程序,分别将它们的窗口拖拽到两个显示器的区域中就可以了,这实际上是将桌面扩展了一下。
2、使用专门的硬件。可以使用“一拖多”的拖机卡,只要将设备插入usb口中,将设备上引出的两个ps/2口分别接鼠标和键盘,主机中还是有两块显卡,然后再装上这个设备的专用软件,重启后,经过简单的配置,即可实现“完全”独立的两个系统。
所谓的分屏或多屏软件,就是把软件中的多个窗体,在主屏幕运行,但是把各个窗体(坐标)移动到各个扩展屏幕位置上如下图所示:
主屏幕 (MainForm) index=0 |
扩展屏幕1 (Form1) index=1 |
扩展屏幕2 (Form2) index=... |
扩展屏幕3 (Form3) index=... |
以下介绍最常用的双屏幕显示,也就是左右模式的屏幕显示的方法。
WinForm 的实现办法:
利用WinForm中的Screen类,即可比较方便地实现多窗体分别在多个屏幕上显示。
- 获取当前系统连接的屏幕数量: Screen.AllScreens.Count();
- 获取当前屏幕的名称:string CurrentScreenName = Screen.FromControl(this).DeviceName;
- 获取当前屏幕对象:Screen CurrentScreen = Screen.FromControl(this);
- 获取当前鼠标所在的屏幕:Screen CurrentScreen = Screen.FromPoint(new Point(Cursor.Position.X, Cursor.Position.Y));
- 让窗体在第2个屏幕上显示:
? ? ?this.Top = ((Screen.AllScreens[1].Bounds.Height - this.Height) / 2); ? 把任何窗体显示在任何屏幕的方法: ? [csharp]?view plaincopy
- //在窗体的OnLoad事件中调用该方法
- protected void Form1_OnLoad(...) {
- showOnMonitor(1);//index=1
- }
- private void showOnMonitor(int showOnMonitor)
- {
- Screen[] sc;
- sc = Screen.AllScreens;
- if (showOnMonitor >= sc.Length) {
- showOnMonitor = 0;
- }
- this.StartPosition = FormStartPosition.Manual;
- this.Location = new Point(sc[showOnMonitor].Bounds.Left, sc[showOnMonitor].Bounds.Top);
- // If you intend the form to be maximized, change it to normal then maximized.
- this.WindowState = FormWindowState.Normal;
- this.WindowState = FormWindowState.Maximized;
- }
对WPF窗体来说,只要简单的更改即可: 首先要添加对?System.Windows.Forms?和?System.Drawing 的引用 简单的参考代码如下: [csharp]?view plaincopy
- protected override void OnStartup(StartupEventArgs e)
- {
- base.OnStartup(e);
- Window1 w1 = new Window1();
- Window2 w2 = new Window2();
- Screen s1 = Screen.AllScreens[0];
- Screen s2 = Screen.AllScreens[1];
- Rectangle r1 = s1.WorkingArea;
- Rectangle r2 = s2.WorkingArea;
- w1.Top = r1.Top;
- w1.Left = r1.Left;
- w2.Top = r2.Top;
- w2.Left = r2.Left;
- w1.Show();
- w2.Show();
- w2.Owner = w1;
- }
? 注意:一定应该在窗体加载前,判断所要显示的屏幕是否存在,否则会报错!
出处:https://www.cnblogs.com/lizi/archive/2012/02/21/2361229.html
================================================================
内容总结
以上是互联网集市为您收集整理的c# Winform 开发分屏显示应用程序全部内容,希望文章能够帮你解决c# Winform 开发分屏显示应用程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。