天天看點

C#Winform如何實作分屏顯示操作SOP

作者:專業于機器視覺visionman

分屏顯示操作SOP

1. 客戶需求

客戶現場産線較長,不同工位的相機之間間隔較遠,需要添加顯示器分别顯示各自工位的拍照處理資訊,且為了節省成本隻能用一個工控機,采用多屏顯示的方法滿足客戶需求。

2. 硬體

1.工控機有2個以上VGA接口(視客戶需要分屏的數量決定);

2.分屏顯示卡(工控機VGA接口不足時選用);

3.多個顯示器和VGA線(一般為加長的10m,視現場産線長度決定);

4.必要時需要VGA轉接頭(公轉母或者母轉公,視現場情況決定);

3.實作辦法

1. 修改窗體屬性實作

①.确認各個顯示器的左上角坐标,

在桌面右鍵點選顯示器分辨率(或打開Intel的顯示器控制台或不同顯示卡的控制程式),移動每個顯示器得到每個顯示器的左上角坐标值,每個顯示器的坐标值與顯示器的分辨率有關,如圖1所示(多個顯示器連接配接時可以看到有多個顯示器序列)。

若隻有一個顯示器,左上角坐标值預設為(0,0),若有多個顯示器,且多個現實器分辨率都為1366*768,且兩個顯示器并排排列,則第二個顯示器的坐标值為(1366,0),依次類推。

②.設定主顯示器,一般為主顯示窗體需要顯示的顯示器;

③.修改StartPosition為mannul,如圖2所示;

④.修改From窗體的Location坐标為你需要顯示的顯示器坐标,如圖3所示;

C#Winform如何實作分屏顯示操作SOP
C#Winform如何實作分屏顯示操作SOP

圖2 圖3

③.運作程式,即可實作From1和From2分開到不同的顯示器顯示。

1. 代碼實作

調用Windows中Screen類擷取不同顯示器的坐标值指派給不同的窗體實作分屏顯示,在主顯示窗體的Load方法中擷取螢幕的左上角坐标,指派給不同窗體的Location實作窗體的分屏顯示,代碼如下圖4所示:

C#Winform如何實作分屏顯示操作SOP

注意:若代碼未達到效果,請檢查From窗體屬性中StartPosition是否為mannul,避免該屬性為Windows預設位置導緻無法給Location指派。

繼續閱讀