- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(开发WinForm的流程设计器
开发WinForm的流程设计器让软件系统真实的体现工作过程,成为企业经营和管理的重要工具,是使用工作流系统的主要目的。 随着计算机的普及,企业信息化程度的不断加深,对软件系统的要求也越来越高,软件系统的每一个环节不再是独立的,客户对软件系统的要求越来越“苛刻”,软件系统不仅是一个记录数据、查询数据的工具,还应是一个体现企业管理的工具,如何使软件系统体现企业的管理理念是软件系统发展的新目标。要做到这一点我们引进了工作流的概念,把企业的日常业务梳理成流程,软件系统根据流程进行工作,真正实现软件系统完全代替手工处理。完成这些工作需要用软件把企业的流程再造,这就是BPM企业流程再造。在BPM系统中有一个重要的模块是流程设计器,一款优秀的流程系统,它的设计器必须是可视化的,本文就介绍开发流程设计器的原理,并提供一款已经完成的设计器的源码,供大家学习研究。流程设计器是编辑流程模版的工具,可视化的流程设计器能直观的编辑流程模版,所见即所得,如下图是我们要开发的流程设计器:流程模版存放流程流转所需要的信息,使用流程设计器来管理流程模版是比较常见的方式,我见过一些流程系统使用表格的形式来管理,那样很不直观。也许是因为技术的原因,该篇就介绍如何制作这样的流程设计器,用到的技术GDI+绘图,数据库存取。要了解GDI+绘图技术的可以先看一下/stg609/archive/2008/03/16/1108333.html 这个博客的介绍,比较基础。在开始之前,先介绍一下目前市场上流程设计器的几种形式,无非就是两种形式一种是B/S的,一种是C/S,我个人感觉这两种形式没必要苛求那一种,各有优缺点,B/S的安装方便一些,不用安装直接使用,但操作灵活性比不上C/S的,B/S的流程设计器目前有几种技术可以实现,一种是js,一种是Silverlight或者FLex,还有一种是用ActiveX插件。流程设计器一般是管理员、实施人员使用,用户群体比较单一固定,但使用要求比较高,必须方便灵活,所以我们的流程设计器采用C/S的方式,结合我们前面提供的WCF远程数据服务,可以实现远程流程模版管理,绝对不亚于B/S的流程设计器。该篇内容比较多,先看一下要介绍的内容:1、流程模版分类管理2、如何使用GDI+画流程图3、流程任务节点类型和属性4、流程模版的导入导出下面详细介绍每一部分:1、流程模版分类管理按照业务对流程模版进行分类,建立一个树形结构的分类机制,不限级数,如下图:每个分类上可以配置管理界面,如下图:可以配置两种形式的管理界面,一种是web页面,一种是winform的窗体。这些管理界面是在业务平台上使用。2、如何使用GDI+画流程图 GDI+:Graphics Device Interface Plus是2D图形处理的技术,在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使用DirectX处理三维(3D)的图形图像,图形图像处理用到的主要命名空间是System . Drawing:提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等。 了解了GDI+基本概念后,再来了解2D图像处理的原理,在窗体或者控件上显示图形或者图像必须使用OnPaint事件,把成像的代码放到该事件里,在窗体重画时才会保持显示状态,如果不放在该事件里,那么在窗体重画时图像就无法显示,所以OnPaint事件是图像显示的重要事件,每个窗体和窗体上的控件都是利用该事件来显示的,做过控件开发的应该很了解这个机制。 根据以上原理,流程图的原理也就很简单了,就是在画布上把表示各种类型的任务节点画出来,再用带箭头的连线把他们连接起来,把这个过程放到画布的OnPaint事件里面,这样流程图就可以展现出来,同时选中的节点画上选中标志。要实现可视化操作还需要解决一下问题: a、读取流程模版 从数据库中把流程模版中的所有任务节点和连线读出来,放到全局的数组中,在OnPaint事件中把TaskItems 数组和LineItems数组中的图像画出来。如下图数组定义: /// summary /// 流程模板所有节点列表 /// /summary public ArrayList TaskItems = new ArrayList(); /// summary /// 流程模板所有连线列表 /// /summary public ArrayList LineItems=new ArrayList(); 由于重画事件执行频率比较高,所以该过程内的代码都是操作内存对象,读写数据库的代码不要放到这里面。 详细代码参见HF.WorkFlow.Component项目的WorkPlace.cs b、
您可能关注的文档
最近下载
- 一体机-柯尼卡美能达-bizhubC220说明书.pdf VIP
- BS EN 60079-32-2-2015 国外国际规范.pdf VIP
- 急诊科患者转运途中突然病情变化应急预案.pptx VIP
- G30连云港至霍尔果斯高速景家口至清水驿段扩容改造报告书.pdf VIP
- 股骨粗隆间骨折护理查房——护理问题及措施与健康指导.ppt VIP
- 零星工程 投标方案(技术方案).docx
- 一种比色法检测金黄色葡萄球菌活菌的Cu-MOF材料及其制备方法和应用.pdf VIP
- 中国农业银行超柜业务及账户管理相关知识考试试卷.docx VIP
- 第三章第一节SOLAS公约 - 青岛远洋船员职业学院-精品课程 ....ppt VIP
- 小学田径教学教案全集.docx VIP
文档评论(0)