C# 双显示器上的一个窗体,全屏
我正在为一家非营利性企业制作屏幕保护程序。我已经完成了所有工作,除了主桌使用双显示器,而且Windows窗体不会在两个显示器上都显示。我的代码如下(检测到正确的双监视器分辨率)。对于双监视器,表单大小报告正确-但实际表单不会在第二个监视器上显示为扩展 我下面的代码是以加载事件的形式出现的。如果您能帮我把这件事做好,我们将不胜感激C# 双显示器上的一个窗体,全屏,c#,.net,C#,.net,我正在为一家非营利性企业制作屏幕保护程序。我已经完成了所有工作,除了主桌使用双显示器,而且Windows窗体不会在两个显示器上都显示。我的代码如下(检测到正确的双监视器分辨率)。对于双监视器,表单大小报告正确-但实际表单不会在第二个监视器上显示为扩展 我下面的代码是以加载事件的形式出现的。如果您能帮我把这件事做好,我们将不胜感激 Screen[] monitors = Screen.AllScreens; foreach (Screen screen in monitors) { to
Screen[] monitors = Screen.AllScreens;
foreach (Screen screen in monitors)
{
totalwidth += screen.WorkingArea.Width;
}
this.Size = new Size(totalwidth, ClientSize.Height);
你需要做的比你所拥有的更多 本质上,您必须为每个屏幕创建一个新表单 节目
for (int i = Screen.AllScreens.GetLowerBound(0);
i <= Screen.AllScreens.GetUpperBound(0); i++)
System.Windows.Forms.Application.Run(new frmScreenSaver(i));
表单加载事件示例
private void frmScreenSaver_Load(object sender, System.EventArgs e)
{
...
// fit the screen
Bounds = Screen.AllScreens[ScreenNumber].Bounds;
// hide the cursor... seems appropriate
Cursor.Hide();
// make it TopMost
TopMost = true;
...
}
屏幕保护程序还有更多的注意事项,但是这应该为您指明正确的方向
此外,您可能只需通过边界,而不是索引谢谢!这让我正确地移动了。我很感激!
private void frmScreenSaver_Load(object sender, System.EventArgs e)
{
...
// fit the screen
Bounds = Screen.AllScreens[ScreenNumber].Bounds;
// hide the cursor... seems appropriate
Cursor.Hide();
// make it TopMost
TopMost = true;
...
}