zoukankan      html  css  js  c++  java
  • 工作流设计器

     Generalxusobuh ,曲滨,西煞魄工人,Generalxu,陌生海岸 ,sean,菌哥,ccBoy ,Lex Choi ,e旋风,xjb ,随风飘散,深夜醉猫,Teddy's Knowledge Base ,梁广永,TerryLee ,neuhawk ,dali 感谢大家的指教,来这博客园快一个月了,也没到各位老大那里去拜访,这里赔礼了,有机会来黑龙江,请你们滑雪(^_^)

     应Generalxu的提意,我先写了这个例子,其他内容我也会尽快传上来

     一个工作流设计器,可以将他发布给用户,使用户可以实现流程的自定义设计

    在这个例子中,我自定义了一个Activity控件[自定义控件A],用于在自定义流程中使用,控件很简单,有一个自定义属性[要输出的文字] ,一个Code,将自定义属性[要输出的文字]的值输出到控制台.



    Public Class 自定义控件A
        
    Inherits SequenceActivity
        
    Public Sub New()
            
    MyBase.New()
            InitializeComponent()
        
    End Sub

        
    Public Shared 要输出的文字Property As DependencyProperty = DependencyProperty.Register("要输出的文字"GetType(String), GetType(自定义控件A))

        
    <Description("测试时在控制台上输出的文字")> _
        
    <Category("自定义分类")> _
        
    <Browsable(True)> _
        
    <DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
        
    Public Property 要输出的文字() As String
            
    Get
                
    Return (CType((MyBase.GetValue(自定义控件A.要输出的文字Property)), String))
            
    End Get
            
    Set(ByVal Value As String)
                
    MyBase.SetValue(自定义控件A.要输出的文字Property, Value)
            
    End Set
        
    End Property


        
    Private Sub codeActivity1_ExecuteCode(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Console.WriteLine(
    "输出" + 要输出的文字)
        
    End Sub

    End Class

      [工作流设计器]是本例的核心组成如下

     

    [窗体]实现了三个功能,设计工作流,将设计好的工作流保存为XML格式文件,做为一个宿主起动引擎,并以保存好的XML格式工作流模板启动实例

    这三个功能是完全独立的,写到一起是为了方便调试,启动流程功能需要引实例化引擎,其他两个功能不需要引擎支持

    使用了一个控制台窗口来监视流程的运行,这与以前的例子是一样的

    初始化一个流模式设计器



    进行设计,本例只提供了一个[自定义控件A]的工具按钮,可以使用同样方法添加其他自定义或系统Activity控件


    保存并运行


     

    这个例子写的有点乱,看本例的朋友,看一下一个例子(Hello World).rar可能会有一些帮助

    例子下载:工作流设计器.rar

    头痛,这个破例子写了3个小时,比计划的还少了一半功能,最不喜欢写流程设计器了................

  • 相关阅读:
    微信小程序:动画(Animation)
    小程序滚动事件之头部渐隐渐现demo
    小程序tab栏可滑动,可点击居中demo
    ES7中前端异步特性:async、await。
    vue中生成二维码
    vue之vue-cookies
    echarts中boundaryGap属性
    ES6数组方法总结
    手写自己的ORM框架For SQlServer(简单的CURD)
    Sqlsever新增作业执行计划傻瓜式操作
  • 原文地址:https://www.cnblogs.com/foundation/p/534246.html
Copyright © 2011-2022 走看看