当前位置:
首页 > Python基础教程 >
-
C#教程之自定义视图显示接口开发,满足不同的显
自定义视图显示接口开发,满足不同的显示需求
13.1 概述
如果ServerSuperIO部署在服务端,那么完全没有必要在SSIO视图接口上进行视图显示开发,可以用WEB端来做。如果ServerSuperIO部署在PC机端或者嵌入式主机,并且带现场显示屏幕,那么就需要有实时显示的界面,以及满足现场用户的不同需求。针对这种情况,ServerSuperIO内部提供了视图显示接口,设备驱动提取完成数据后,可以把数据实时传输给视图接口,可以立即显示,也可以先缓存数据,定时进行显示; 可以几个设备驱动的数据显示在一个视图,也可以全部设备驱动的数据显示在一个视图。示意如下图:
13.2 视图显示接口
视图抽象类GraphicsShow继承自IGraphicsShow接口,进行二次开发可以继承GraphicsShow抽象类。在ServerSuperIO上开发好视图接口后,完全可以在二次开发套件下挂载和运行(二次开发套件下载)。在进行二次开时,有几点特别需要注意:
- ShowGraphics(IWin32Window windows)接口,windows参数是当前显示视图的父窗体,如果父窗体设置了IsMdiContainer=true,那么可以设置当前显示视图showForm.MdiParent = (Form)windows。
- UpdateDevice(string devid, object obj)实时数据更新接口,如果二次开发的视图的实例增加到当前服务实例中,那么设备驱动会通过OnDeviceObjectChanged数据改变事件通知视图的UpdateDevice接口进行数据更新。OnDeviceObjectChanged何时触发,完全由二次开发者自己把控。
- OnGraphicsShowClosed视图关闭事件接口,当前视图进行关闭时,一定要触发这个事件,ServerSuperIO会自动释放资源,并把当前视图实例从服务实例中销毁,以便下次能够正常显示。
- MouseRightContextMenu上下文菜单显示接口,如果右键单击当前视图显示的某个设备视图时,可以调用这个上下文菜单接口,会调用设备驱动IRunDevice接口的ShowContextMenu函数,可以在这个函数中展示上下文菜单。这个功能特别有用,因为针对不同类型的设备驱动功能不一样,可以通过上下文菜单自定义该类型设备的功能特性。
GraphicsShow接口代码定义如下:
13.3 设备驱动开发及注意事项
- 给视图实例传递数据信息,通过OnDeviceObjectChanged事件。代码如下:
2.显示上下文菜单,视图接口的MouseRightContextMenu会调用设备驱动的ShowContextMenu接口函数。代码如下:
13.4 运行效果
1.[连载]《C#通讯(串口和网络)框架的设计与实现》
2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍
2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案
3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式