上次编写了一个家庭小助手的小工具软件,也对其中的线程池及管理器进行了介绍(见博文:C#开发的线程池和管理器 - 开源研究系列文章),这次把里面的插件部分的功能单独放出来进行介绍,让更多的朋友能够进行学习借鉴及代码复用上。

  一、      项目目录;

  下面对项目目录进行介绍,其中PlugIns是主程序,Lzhdim的类库为需要的操作库,Plugins.Example为插件程序DLL文件:

  二、      插件接口定义;

  此程序定义了关于窗口和插件程序两个接口,主要是通过C#的反射进行的调用。其中关于窗口能够通过双击介绍打开说明窗口。

  1、        关于窗口接口定义;

  关于窗口的接口定义比较简单,直接提供关于窗口的基本信息获取。

  

  2、        插件程序接口定义;

  对于插件程序的接口,此程序主要定义了几个接口函数,其中第一个为获取接口信息的函数;第二个为打开主窗口的函数定义;第三个为打开插件配置窗口的函数定义;第四个为打开插件程序关于窗口的函数;第五个为初始化插件程序的函数定义;

  

  三、      插件开发介绍;

  上面定义了插件程序的接口,下面对该插件接口进行插件的开发。

  1、        实现该插件接口;

  首先实现该插件接口,为插件程序的使用进行定义。

  2、        开发插件程序;

  1)        插件程序目录;

  下面是插件程序的目录,主要是实现该插件程序的几个窗口及插件程序的功能。

  

  2)        插件程序开发;

  插件程序,主要是实现插件程序的关于窗体、配置窗体、初始化窗体以及主窗体。其中自行定义需要的类库等函数。这里有初始化函数和退出函数。

  

  这里对主窗体的实现进行介绍,主要有几个窗体的初始化函数。

  

  四、      主程序介绍;

  主程序这边,主要由插件菜单和初始化函数组成。

  1、        菜单函数;

  这里定义了菜单添加插件程序的函数定义。

  2、        插件菜单;

  这里提供插件菜单显示的初始化函数定义。

  五、      项目运行;

  下面对项目运行情况进行下介绍。

  1、        主窗体运行;

  下面是主窗体运行的截图。这里的插件显示为上面添加的函数,点击该菜单能够打开插件程序。

  

  2、        插件管理窗口运行;

  打开插件管理器,这里能够对插件程序进行配置管理等操作。

  

  3、          关于窗口运行;

  下面为关于窗体的显示,上面为程序运行需要的DLL文件;下面为插件程序的DLL文件。

  

  上面对C#开发的插件程序进行了介绍,其中的插件接口定义比较简单,只是实现基本的插件程序需要的功能。后面将对插件接口的定义有另一个介绍。

  下面提供源码下载:

  https://download.csdn.net/download/lzhdim/87361153

最新文章

  1. js创建节点,小试牛刀
  2. 高效使用git的一些命令
  3. mysql在update时,从其他select结果集更新表
  4. js+css:43种常见的浏览器兼容性问题大汇总
  5. hdu 2853
  6. LINQ to SQL和Entity Framework对照
  7. 设置ListView的item多选
  8. stream_context_create
  9. Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer
  10. HDU 5616 Jam's balance(DP)
  11. Java对正则表达式的支持(二)
  12. 简述openstack
  13. 初学Python——软件目录结构规范
  14. sho
  15. 通过Response下载。
  16. ElasticSearch 核心概念
  17. Python学习--Selenium模块
  18. springcloud-07-eureka HA的高可用配置
  19. 【坚持】Selenium+Python学习之从读懂代码开始 DAY7
  20. linux读书笔记第三章

热门文章

  1. Chrony时间同步服务
  2. 记录一次sshd服务启动失败
  3. Asp.Net Core MVC传值 Asp.Net Core API 前台写法
  4. C#--对上传的Excel文档的处理
  5. 【ASP.NET Core】MVC控制器的各种自定义:应用程序约定的接口与模型
  6. C#使用MathNet库来对进行曲线拟合
  7. python列表、元祖
  8. 2022春每日一题:Day 17
  9. MYSQL5.7 保姆级安装教程
  10. ubuntu上升级cmake到3.16版本