使用c#从服务器发送不同的消息到不同的屏幕
本文关键字:屏幕 消息 服务器 使用 | 更新日期: 2023-09-27 18:16:33
假设我有多个屏幕连接到一个CPU。我想做的是同时向每个屏幕发送不同的消息。
为例:屏幕1显示"Proceed to Aisle 1"
屏幕2显示"Proceed to Aisle 2"
等等
有可能实现这样的东西吗?如果有,如何实现?
您可以通过查看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();
}
这应该会给你一个开始你想做什么。