当前位置: 代码迷 >> C# >> 无边框全屏winForm界面,不能显示在辅显示器上解决思路
  详细解决方案

无边框全屏winForm界面,不能显示在辅显示器上解决思路

热度:70   发布时间:2016-05-05 04:08:22.0
无边框全屏winForm界面,不能显示在辅显示器上
场景:我有2个显示器,一主一辅,辅显示器主要显示一个全屏无框的监控画面,主显示器自由操作。

问题:辅显示器的程序一打开全屏无框的界面就自动跑到主显示器了。在辅显示器上网,打开全屏视频,就不会跑到主显示器
------解决思路----------------------
这个问题和无边框什么的没有任何关系.
只要让应用程序启动时的窗体中心位置在辅显示器上,就可以实现了.(一定要注意是窗体的中心点)
需要注意主显示器的左上角坐标为0,0
如果辅显示器是在主显示器左边,则X坐标为负数;如果是在右边X坐标大于主显示器的分辨率横坐标最大值.

这个是个简单例子,你可以试试
        private void button1_Click(object sender, EventArgs e)
        {
            this.FormBorderStyle = FormBorderStyle.None;
            this.WindowState = FormWindowState.Maximized;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show(this.Left.ToString()+ "    " + this.Top.ToString());
        }
------解决思路----------------------
private   void   FullScreen()   //全屏   
  {   
  SizeMode   =   2;   
  FormBorderStyle   =   FormBorderStyle.None;   
  Left   =   Top   =   0;   
  Width   =   Screen.PrimaryScreen.Bounds.Width;   
  Height   =   Screen.PrimaryScreen.Bounds.Height;   
  BringToFront();   
  }   
    
  private   void   FullWorkSpace()   //充满工作区  
  {   
  SizeMode   =   1;   
  FormBorderStyle   =   FormBorderStyle.Sizable;   
  Left   =   Top   =   0;   
  Width   =   Screen.PrimaryScreen.WorkingArea.Width;   
  Height   =   Screen.PrimaryScreen.WorkingArea.Height;   
  BringToFront();   
  } 
  相关解决方案