c# – 如何确保在双显示器情况下在“附加”显示器上显示表单?

参见英文答案 > Showing a Windows form on a secondary monitor?                                    8个答案                                我有一个应用程序,其中有一个表单,我想要显示在第二个屏幕上。

平均值如果应用程序在屏幕A上运行,当我点击菜单显示窗体时,它应显示在屏幕B上
 如果应用程序在屏幕B上运行,并且当我点击菜单显示窗体时,应该显示在屏幕A上。

您需要使用Screen类来查找原始窗体不在的屏幕,然后根据该屏幕的边界设置第二个窗体的“位置”属性。

例如:

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看到一个大屏幕而不是两个较小的屏幕,在这种情况下,这将变得更加困难。

http://stackoverflow.com/questions/2561104/how-do-i-ensure-a-form-displays-on-the-additional-monitor-in-a-dual-monitor-sc

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何确保在双显示器情况下在“附加”显示器上显示表单?