C# Winform 双屏显示

Posted 金桂花季

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform 双屏显示相关的知识,希望对你有一定的参考价值。

双屏显示1

// 利用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.Left = ((Screen.AllScreens[1].Bounds.Width - this.Width) / 2);
        //this.Top = ((Screen.AllScreens[1].Bounds.Height - this.Height) / 2);
        private void showOnMonitor(int showOnMonitor)
        {
            Screen[] sc;
            sc = Screen.AllScreens;
            if (showOnMonitor >= sc.Length)
            {
                showOnMonitor = 0;
            }
            this.FormBorderStyle = FormBorderStyle.None; //无边框全屏显示
            this.StartPosition = FormStartPosition.Manual;
            this.Location = new Point(sc[showOnMonitor].Bounds.Left, sc[showOnMonitor].Bounds.Top);  
            //this.Location = new Point(((sc[showOnMonitor].Bounds.Width-this.Width)/2), ((sc[showOnMonitor].Bounds.Height-this.Height)/2));
            // If you intend the form to be maximized, change it to normal then maximized.               
            //this.WindowState = FormWindowState.Normal;
            this.WindowState = FormWindowState.Maximized;//最大化窗口

        }

如果接双显卡时showOnMonitor 参数等于0为主屏,1为扩展屏
双屏显示1
双屏显示2
 private void showOnMonitor2()
        {
            Screen[] sc;
            sc = Screen.AllScreens;
            //get all the screen width and heights 
            Form1 f = new Form1();
            f.FormBorderStyle = FormBorderStyle.None;
            f.Left = sc[1].Bounds.Width;
            f.Top = sc[1].Bounds.Height;
            f.StartPosition = FormStartPosition.Manual;
            f.Location = sc[1].Bounds.Location;
            Point p = new Point(sc[1].Bounds.Location.X, sc[1].Bounds.Location.Y);
            f.Location = p;
            f.WindowState = FormWindowState.Maximized;
            f.Show();
        }

接入双显卡时sc[0]为主屏、sc[1]扩展屏
双屏显示2
一个窗体双屏显示

  this.Location = new Point(0,0);            
            Screen[] sc;
            sc = Screen.AllScreens;
            this.Width = (sc[0].Bounds.Width + sc[1].Bounds.Width);//+20;
            this.Height = (sc[0].Bounds.Height); //+200;
            this.FormBorderStyle = FormBorderStyle.None; //边框样式
            webBrowser1.Width = sc[0].Bounds.Width;
            webBrowser1.Height = sc[0].Bounds.Height;
            webBrowser1.Location = new Point(sc[0].Bounds.Location.X, sc[0].Bounds.Location.Y);            
            webBrowser1.Url = new Uri("http://www.google.com.hk");


            webBrowser2.Width = sc[1].Bounds.Width;
            webBrowser2.Height = sc[1].Bounds.Height;
            webBrowser2.Location = new Point(sc[1].Bounds.Location.X, sc[1].Bounds.Location.Y);
            webBrowser2.Url = new Uri("http://www.baidu.com");
一个窗体双屏显示

此处为了知识记录用,出处:http://www.cnblogs.com/zzcong/archive/2012/06/13/2547877.html

以上是关于C# Winform 双屏显示的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform picturebox显示用代码画出来的字符串图片

Sublime Text 如何一个代码双屏显示代码上下部分?

C# winform中父窗体显示问题

C# winform如何设置右击时触发事件

C# 使用winForm的TreeView显示中国城镇四级联动

在 C# winform 应用程序上显示 cmd 命令