WinCC插件制作教程
参考资料 Creation of .NET Controls 109759944_Prepare.NetControls_DOC_en.pdf
插件的编写
创建插件项目,选择Windows窗体控件库(.NET Framework)
框架选择 4.5.2以上版本
为程序集签名
- 在项目上右键点击属性.
- 切换到签名选项卡.
- 勾选为程序集签名,并创建签名密钥.
可选:为控件添加属性
在控件代码中增加属性代码
private bool mvalue;//私有变量
//Category 表示属性所在的分类 Data表示在数据类中
//Description 表示在属性页中显示的描述
//Browsable 表示是否在属性页中显示, 不增加默认为true
//DefaultValue 默认值,不填为空
[Category("Data")]
[Description("这是一个变量")]
[Browsable(true)]
[DefaultValue(true)]
public bool MValue
{
get { return mvalue; }
set { mvalue = value; }
}
可选:为控件添加事件
创建自定义委托(可选)
//委托
public delegate void MyChangeEventHandler();
添加自定义事件
[Browsable(true)]//是否显示,不添加为true,为false为隐藏
[Category("Action")]//事件分类
[Description("Invoked when user clicks button")]//描述
public event EventHandler ButtonClick;//此处 Eventhandle 可以改为自定义委托 MyChangeEventHandler
内部触发事件
protected void Button1_Click(object sender, EventArgs e)
{
//检查事件列表是否为空
if (this.ButtonClick != null)
this.ButtonClick(this, e);
}
生成插件
点击生成下的生成来生成插件,在bin目录中找到生成的插件dll
插件的使用
- 全局注册
全局注册的程序 ,在生成时必须选anyCpu 如果,如果不是AnyCpu生成如(X86,X64)只能通过手工加载的方式
全局注册需要安装.net 4 SDK 下载:https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-developer-pack-offline-installer
以管理员身份运行CMD,跳转到 SDK工具目录
cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools"
使用命令 全局注册插件dll
#"gacutil.exe /l" 查看所有注册成功的组件
#"gacutil.exe /l 程序集名称" 查看指定程序集注册状态
#"gacutil.exe /u 程序集名称" 卸载已注册的程序集
#cmd下执行
gacutil.exe /i 插件路径
#powershell下执行
./gacutil.exe /i
#插件的路径 最好带双引号,不要使用中文路径
- 手动注册
手动注册直接在插件中选择 程序集dll文件即可,如果运行出现错误,可将Dll文件放到运行程序根目录下再次手工选择 注册
WinCC插件制作教程的更多相关文章
- WordPress插件制作教程(八): 最后总结
WordPress插件教程最后一篇,还是为大家简单的做下总结.这次插件制作教程讲的内容和知识点个人觉得不是很多,因为插件制作不单单是这些内容,它涉及的知识很多很多,不是说你会一些函数就可以做出一个好的 ...
- WordPress插件制作教程(一): 如何创建一个插件
上一篇还是按照之前的教程流程,写了一篇WordPress插件制作教程概述,从这一篇开始就为大家具体讲解WordPress插件制作的内容.这一篇主要说一下插件的创建方法. 相信大家都知道插件的安装文件在 ...
- WordPress插件制作教程概述
接下来的一段时间里,开始为大家讲解WordPress插件制作系列教程,这篇主要是对WordPress插件的一些介绍和说明,还有一些我们需要注意的地方,以及需要掌握的知识. WordPress插件允许你 ...
- 【超酷超实用】CSS3可滑动跳转的分页插件制作教程
原文:[超酷超实用]CSS3可滑动跳转的分页插件制作教程 今天我要向大家分享一款很特别的CSS3分页插件,这款分页插件不仅可以点击分页按钮来实现分页,而且可以滑动滑杆来实现任意页面的跳转,看看都非常酷 ...
- qlikview 扩展插件制作教程-EchartsGeoMap
效果图 显示效果和echarts官方demo一样,运行速度尚可. 第一次写博客,排版很渣以后慢慢改进. 基础知识 以EchartsGeoMap为例,讲一下怎么制作一个基础的QlikView Ext ...
- WordPress插件制作教程(六): 插件函数之动作(Actions)函数
这一篇为大家说一下WordPress插件函数吧,要制作插件,了解这些函数是非常有必要的 WordPress插件函数分为“动作”(Actions)和过滤器”(Filters),WordPress 使用这 ...
- WordPress插件制作教程(三): 添加菜单的方法
上一篇编写了一个简单的插件,让大家对插件的简单制作有个了解,这一篇我们在更深一步,当我们激活插件后后台会显示菜单出来,然后通过单击菜单显示自己定义好的信息.激活之后会在WordPress后台显示一个菜 ...
- WordPress插件制作教程(二): 编写一个简单的插件
上一篇说到了如何创建一个插件,我想大家看了之后一定会有所收获,这一篇简单给大家写一个插件样例,让大家有一个基本的印象.这个插件的样例就是当你激活这个插件后会在你的每篇文章中插入一段自己定义好的内容,比 ...
- WordPress插件制作教程(七): 插件函数之过滤器(Filter)函数
上一篇对插件函数之动作(Action)函数做了下介绍,这篇在介绍下过滤器(Filters). 过滤器是一类函数,WordPress执行传递和处理数据的过程中,在针对这些数据做出某些动作之前的特定运行( ...
- WordPress插件制作教程(五): 创建新的数据表
上一篇讲解了怎样将数据保存到数据库,今天为大家讲解创建新的数据表,也就是说当我们激活插件的时候,会在该数据库下面创建一个新的数据表出来.原理很简单,激活插件的时候运行创建数据库的代码.看下面代码: & ...
随机推荐
- defineProperty和Proxy
Proxy JS标准内置对象 const p = new Proxy(target, handler) 创建一个对象的代理: let obj = { a: { b: { c: 1 } } } let ...
- K8S-pod详解
目录: namespace六大类型 Pod基础概念 Pod两种使用方式 通常把Pod分为两类 Pod容器的分类 init的容器作用 镜像拉取策略(image PullPOlicy) 部署harbor创 ...
- 《Makefile中传递宏定义到源文件》
Makefile中定义的变量无法直接传递到头文件中,因为头文件是在预编译阶段处理的,而Makefile中的变量是在编译阶段处理的. 如果需要在头文件中使用Makefile中定义的变量,可以在头文件中使 ...
- SQL_TIP_JOIN_x
没有条件的JOIN会导致数据数量变为两表的数据量的乘积结果. 用ON来在这些结果里进行筛选 on T1.A = T2.A的时候,如果T1的A是不重复的,则实际上是在对T2现有数据做筛选,结果数据量&l ...
- 开启Runjar , 使用beeline连接hive
要先开启hadoop服务 进入root用户hive目录 输入bin/hiveservices.sh stop 停止 输入bin/hiveservices.sh start ...
- 【二】python学习总结
一i.python概念 python是一种解释型语言,速度比java慢 二.运算符和格式输出.导入 1.Python3 运算符 | 菜鸟教程 (runoob.com) 2.格式输出 % 和.form ...
- python单机版自动化测试框架源代码(selenium+Appium+requests+unittest+Excel用例+HTMLTestRunner报告)
一.自动化测试框架: 1.框架和项目源代码下载 https://gitee.com/rmtic/autoTest 说明:框架可以支持web界面UI.安卓Android,ios苹果.接口API等自动化测 ...
- 城市间最短路径问题——R和Rcpp实现
这里的最短路径问题也叫做相识问题,具体问题来自 https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/examples.ht ...
- 微信h5支付报错 商家参数格式有误,请联系商家解决
商家参数格式有误,请联系商家解决 当前调起H5支付的referer为空导致,一般是因为直接访问页面调起H5支付,请按正常流程进行页面跳转后发起支付,或自行抓包确认referer值是否为空 解决:就把 ...
- Finance财务软件(支持Excel模板打印专题)
我们可以修改模板文件./service/PrintTemplate/凭证打印模板_v1.xlsx 模板中的字段对应 2010_upgrade_01.sql 中的存储过程sp_voucher_print ...