目       錄

13.自定義視圖顯示接口開(kāi)發(fā),滿(mǎn)足不同的顯示需求... 2

13.1        概述... 2

13.2        視圖顯示接口... 2

13.3        設(shè)備驅(qū)動(dòng)開(kāi)發(fā)及注意事項(xiàng)... 4

13.4        運(yùn)行效果... 5

13.自定義視圖顯示接口開(kāi)發(fā),滿(mǎn)足不同的顯示需求

13.1     概述

    如果ServerSuperIO部署在服務(wù)端,那么完全沒(méi)有必要在SSIO視圖接口上進(jìn)行視圖顯示開(kāi)發(fā),可以用WEB端來(lái)做。如果ServerSuperIO部署在PC機(jī)端或者嵌入式主機(jī),并且?guī)КF(xiàn)場(chǎng)顯示屏幕,那么就需要有實(shí)時(shí)顯示的界面,以及滿(mǎn)足現(xiàn)場(chǎng)用戶(hù)的不同需求。針對(duì)這種情況,ServerSuperIO內(nèi)部提供了視圖顯示接口,設(shè)備驅(qū)動(dòng)提取完成數(shù)據(jù)后,可以把數(shù)據(jù)實(shí)時(shí)傳輸給視圖接口,可以立即顯示,也可以先緩存數(shù)據(jù),定時(shí)進(jìn)行顯示;  可以幾個(gè)設(shè)備驅(qū)動(dòng)的數(shù)據(jù)顯示在一個(gè)視圖,也可以全部設(shè)備驅(qū)動(dòng)的數(shù)據(jù)顯示在一個(gè)視圖。示意如下圖:

 

13.2     視圖顯示接口

    視圖抽象類(lèi)GraphicsShow繼承自IGraphicsShow接口,進(jìn)行二次開(kāi)發(fā)可以繼承GraphicsShow抽象類(lèi)。在ServerSuperIO上開(kāi)發(fā)好視圖接口后,完全可以在二次開(kāi)發(fā)套件下掛載和運(yùn)行(二次開(kāi)發(fā)套件下載)。在進(jìn)行二次開(kāi)時(shí),有幾點(diǎn)特別需要注意:

  1. ShowGraphics(IWin32Window windows)接口,windows參數(shù)是當(dāng)前顯示視圖的父窗體,如果父窗體設(shè)置了IsMdiContainer=true,那么可以設(shè)置當(dāng)前顯示視圖showForm.MdiParent = (Form)windows。
  2. UpdateDevice(string devid, object obj)實(shí)時(shí)數(shù)據(jù)更新接口,如果二次開(kāi)發(fā)的視圖的實(shí)例增加到當(dāng)前服務(wù)實(shí)例中,那么設(shè)備驅(qū)動(dòng)會(huì)通過(guò)OnDeviceObjectChanged數(shù)據(jù)改變事件通知視圖的UpdateDevice接口進(jìn)行數(shù)據(jù)更新。OnDeviceObjectChanged何時(shí)觸發(fā),完全由二次開(kāi)發(fā)者自己把控。
  3. OnGraphicsShowClosed視圖關(guān)閉事件接口,當(dāng)前視圖進(jìn)行關(guān)閉時(shí),一定要觸發(fā)這個(gè)事件,ServerSuperIO會(huì)自動(dòng)釋放資源,并把當(dāng)前視圖實(shí)例從服務(wù)實(shí)例中銷(xiāo)毀,以便下次能夠正常顯示。
  4. MouseRightContextMenu上下文菜單顯示接口,如果右鍵單擊當(dāng)前視圖顯示的某個(gè)設(shè)備視圖時(shí),可以調(diào)用這個(gè)上下文菜單接口,會(huì)調(diào)用設(shè)備驅(qū)動(dòng)IRunDevice接口的ShowContextMenu函數(shù),可以在這個(gè)函數(shù)中展示上下文菜單。這個(gè)功能特別有用,因?yàn)獒槍?duì)不同類(lèi)型的設(shè)備驅(qū)動(dòng)功能不一樣,可以通過(guò)上下文菜單自定義該類(lèi)型設(shè)備的功能特性。

   GraphicsShow接口代碼定義如下:

13.3     設(shè)備驅(qū)動(dòng)開(kāi)發(fā)及注意事項(xiàng)

  1. 給視圖實(shí)例傳遞數(shù)據(jù)信息,通過(guò)OnDeviceObjectChanged事件。代碼如下:

     2.顯示上下文菜單,視圖接口的MouseRightContextMenu會(huì)調(diào)用設(shè)備驅(qū)動(dòng)的ShowContextMenu接口函數(shù)。代碼如下:

13.4     運(yùn)行效果

 


 

1.[連載]《C#通訊(串口和網(wǎng)絡(luò))框架的設(shè)計(jì)與實(shí)現(xiàn)》

2.[開(kāi)源]C#跨平臺(tái)物聯(lián)網(wǎng)通訊框架ServerSuperIO(SSIO)介紹

2.應(yīng)用SuperIO(SIO)和開(kāi)源跨平臺(tái)物聯(lián)網(wǎng)框架ServerSuperIO(SSIO)構(gòu)建系統(tǒng)的整體方案

3.C#工業(yè)物聯(lián)網(wǎng)和集成系統(tǒng)解決方案的技術(shù)路線(xiàn)(數(shù)據(jù)源、數(shù)據(jù)采集、數(shù)據(jù)上傳與接收、ActiveMQ、Mongodb、WebApi、手機(jī)App)