在这个练习中,我们将以练习1的 HelloWorldWorkflow 工作流项目为基础,实现在工作流运行时,通过宿主程序向工作流传递参数。在本练习中我们将修改工作流的 Code  活动,使其向用户显示传入的参数;最后,我们修改启动项目(宿主程序),使其运行时显示一个窗体,实现用户参数的输入,最后运行一个工作流实例。
        本练习共包括三个任务:
        1、为工作流定义参数;
        2、修改code 活动;
        3、调试运行修改后的工作流项目;
注:本练习是完全手动建立,因此与英文说明不完全相同

        1、为工作流定义参数。
        1.1、打开练习1建立的 HelloWorldWorkflow  工作流项目;
        1.2、在解决方案中选择流程图文件 Workflow1.xoml ,单击右键选择[View Code]菜单,进入
Workflow1 类的代码视图,建立如下两个属性定义;

练习2、通过宿主程序向工作流传递参数        private string firstName;
练习2、通过宿主程序向工作流传递参数
练习2、通过宿主程序向工作流传递参数        
public string FirstName
        }
编译解决方案,通过完成下一个任务练习2、通过宿主程序向工作流传递参数
        2、修改code 活动;由于我们的工作流应用程序要通过 MessageBox 向用户显示信息,所以我们必须先
在工作流项目添加对  System.Windows.Forms  的引用。
        2.1、为工作流项目添加 System.Windows.Forms 引用;
        2.2、进入工作流 Workflow1.xoml 的代码视图,定位到方法:codeActivity1_CodeHandler,并修改
代码:
练习2、通过宿主程序向工作流传递参数        private void codeActivity1_CodeHandler(object sender, EventArgs e)
        }
        编译解决方案,通过完成下一个任务练习2、通过宿主程序向工作流传递参数
        3、调试运行修改后的工作流项目。现在工作流项目已经修改完了,下一步要做的工作是向
 HelloWorldWorkflow 解决方案中添加一个 Windows Application  项目,即把原控制台宿主程序改为
Windows Form 宿主程序,调试运行工作流。
        3.1、在解决方案中添加 一个 Windows Application  项目,名称为:WinFormTestHost
        3.2、把WinFormTestHost 项目设为启动项目;
        3.3、在 WinFormTestHost 项目中添加如下引用:
                  3.3.1、HelloWorldWorkflow 工作流项目
                  3.3.2、System.Workflow.Activities
                  3.3.3、System.Workflow.ComponentModel
                  3.3.4、System.Workflow.Runtime
        3.4、设计如下界面,控件Name属性按相应标记修改,其它属性不变。
练习2、通过宿主程序向工作流传递参数
        3.5、在 Form1 中定义模块变量 wr。
private System.Workflow.Runtime.WorkflowRuntime wr = null;
        3.6、双击按钮 btnStartWorkflow,实现Click事件处理, btnStartWorkflow_Click 代码如下:
练习2、通过宿主程序向工作流传递参数        private void btnStartWorkflow_Click(object sender, EventArgs e)
        }
        3.7、实现对窗体 FormClosed 事件的处理,主要是在窗体关闭后,应该同时停止流程。
练习2、通过宿主程序向工作流传递参数        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        }
        3.8、调试运行工作流程序程,运行效果如下练习2、通过宿主程序向工作流传递参数
练习2、通过宿主程序向工作流传递参数

相关文章:

  • 2021-08-23
  • 2021-06-21
  • 2021-06-02
  • 2022-03-02
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-04
  • 2021-07-12
  • 2021-11-21
  • 2021-07-20
  • 2021-08-05
相关资源
相似解决方案