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

.Net技术 码拜 7年前 (2015-05-10) 927次浏览 0个评论
 

场景:我有2个显示器,一主一辅,辅显示器主要显示一个全屏无框的监控画面,主显示器自由操作。

问题:辅显示器的程序一打开全屏无框的界面就自动跑到主显示器了。在辅显示器上网,打开全屏视频,就不会跑到主显示器

60分
这个问题和无边框什么的没有任何关系.
只要让应用程序启动时的窗体中心位置在辅显示器上,就可以实现了.(一定要注意是窗体的中心点)
需要注意主显示器的左上角坐标为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());
        }

6分
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();   
  } 
问题解决,2楼正解。
form.Left = Screen.PrimaryScreen.Bounds.Width;
引用 3 楼 awin66 的回复:

问题解决,2楼正解。
form.Left = Screen.PrimaryScreen.Bounds.Width;

2楼正解你才给6分!


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明无边框全屏winForm界面,不能显示在辅显示器上
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!