我需要通过标识号在屏幕上显示对话框,例如我有这种情况
我希望在第四节显示一些内容,当我使用Screen.AllScreens获取所有屏幕时,我的第四个屏幕是数组中的0元素,因为AllScreens不是通过缩进数而是通过顺序返回屏幕。 因此有人知道如何从Screen类获取标识号,或者如何通过标识号获取屏幕坐标和界限。
更新:
DeviceName并不总是与标识号相符(见下图):
答案 0 :(得分:1)
如果您查看screen.DeviceName
,则应该\\\\.\\DISPLAY1
,\\\\.\\DISPLAY2
等。您可以使用它来搜索\\\\.\\DISPLAY4
。
答案 1 :(得分:0)
获取屏幕编号(脏路,但有效):
var sceenId = -1;
var targetScreen = Screen.FromPoint(Cursor.Position);
for (var i = 0; i < Screen.AllScreens.Length; i++)
{
if (!Equals(targetScreen, Screen.AllScreens[i]))
continue;
sceenId = i;
break;
}
通过标识号获取屏幕坐标和界限:
Screen.AllScreens[sceenId].Bounds