WinForm条件下构建自己的流程图引擎

        目前在B/S领域内,基于JQuery等框架的流程图绘制引擎非常成熟,但翻遍网络没有发现几个开源的Winform下的流程图绘制解决方案,就算有也是商业化的,封装好的,需要购买的,本人在开发3S系统ERP中,就遇到流程图(包含桌面流程图和审核流程图)的问题,它确实是很多系统中需要用的技术。

     下面是我的思路:

      1)流程途中有节点,节点对应很多线段,有进去的,有出去的。如是我构建2个对象TVNode、TVLine分别对应流程节点和线段

pubLic class TVLine

{

 public      Point  F;//起点

 public      Point  T;//终点

}

public   Classs  TVnode  :Button

{

    public    int ID;

    public   List  OutLines;//出方向线段

    public    List   InLines; //入方向线段

}

     2)  有了以上2个模型,节点拖动,线段重绘方面的判断就简单多了。采用GDI+函数,节点移动过程中,把旧的线段抹掉,绘制新节点的线段,这样用户看起来就是橡皮筋效果了!  经过一周的工作,代码才不到800行,就实现自己轻量级的流程图引擎,使用到3SERP中,实现ERP流程导向图和审核流定义,效果如下图所示:

  WinForm条件下构建自己的流程图引擎_第1张图片

  下图是3S审核流程图设置页面

              WinForm条件下构建自己的流程图引擎_第2张图片

             如果有感兴趣的朋友,可以跟我多多交流,一起探讨。目前还没有实现更加复杂的系统图。只是基本满足了ERP中的流程导向图和审核流程图。



你可能感兴趣的:(WinForm条件下构建自己的流程图引擎)