这个问题已经在这里有了答案 :
在辅助监视器上显示Windows窗体? (9个答案)
6年前关闭。
我有一个应用程序,其中有一个要在第二个屏幕上显示的表单。
意思是如果应用程序正在屏幕A上运行,并且当我单击菜单显示窗体时它应该显示在屏幕B上,并且与应用程序正在屏幕B上运行并且当我单击菜单显示窗体时它应该在屏幕A上显示一样。
您需要使用Screen该类来查找原始表单不在的屏幕,然后Location根据该屏幕的属性设置第二个表单的属性Bounds。
Screen
Location
Bounds
例如:
var myScreen = Screen.FromControl(originalForm); var otherScreen = Screen.AllScreens.FirstOrDefault(s => !s.Equals(myScreen)) ?? myScreen; otherForm.Left = otherScreen.WorkingArea.Left + 120; otherForm.Top = otherScreen.WorkingArea.Top + 120;
这将适用于任意数量的屏幕。
请注意,可能已对视频卡进行了配置,以使Windows看到一个大屏幕而不是两个较小的屏幕,在这种情况下,这变得更加困难。