我们说我有多个屏幕连接到一个CPU。我想要做的是同时向这些屏幕发送不同的消息。
例如:
屏幕1显示"进入过道1"
屏幕2显示"进入过道2"
等等。
是否有可能实现这样的目标,如果是,如何?
答案 0 :(得分:1)
通过查看System.Windows.Forms.Screen.AllScreens数组,您可以访问连接到计算机的其他屏幕。其中包含附加到系统的所有屏幕的列表,并提供有关每个屏幕的信息。 每个屏幕都由屏幕顶角的某些偏移使用。如果仅连接一个屏幕,则左上角为(0,0)。如果您在1920x1080屏幕的右侧有第二个屏幕,那么第二个屏幕的左上角将是(1920,0)。 例如,这可用于在最后一个屏幕的左上角显示一个表单:
int lastScreen = System.Windows.Forms.Screen.AllScreens.Length - 1;
System.Windows.Forms.Screen scr = System.Windows.Forms.Screen.AllScreens[lastScreen];
System.Windows.Forms.Form f = new System.Windows.Forms.Form();
f.Location = scr.WorkingArea.Location;
f.StartPosition = FormStartPosition.Manual;
f.Show();
同样,这里的快速代码将在每个屏幕上显示一个表单,并带有标签,说明该屏幕的屏幕编号:
for (int count = 0; count < System.Windows.Forms.Screen.AllScreens.Length; count++)
{
System.Windows.Forms.Screen scr = System.Windows.Forms.Screen.AllScreens[count];
System.Windows.Forms.Form f = new System.Windows.Forms.Form();
f.Location = scr.WorkingArea.Location;
f.StartPosition = FormStartPosition.Manual;
Label screenNumber = new Label();
screenNumber.Text = "You are looking at screen # " + count.ToString();
screenNumber.AutoSize = true;
f.Controls.Add(screenNumber);
f.Show();
}
这可以让您在想要做的事情上先行一步。