场景:我有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();
}