[Develop]Lab3-Call WF

[Develop]Lab3-Call WF

Lab3 、 CallWF

接下來我們要來練習以外部的應用程式來叫用WF 的流程。

狀況假設:

[ 這個範例是運用一個Windows Form 去叫用一個 WF 的流程,啟動流程後會跳出一個視窗介面來告知我們流程已經被啟動了。
]

我們用這個範例來瞭解一個工作流程建置完成後如何被外部應用程式呼叫。在這邊我們用來呼叫WF流程的是WindowsForm程式。

clip_image001

clip_image002

clip_image003


開啟一個新的WWF專案。

在Visual Studio中開啟一個新的專案,這邊我們選擇 [ 循序工作流程程式庫 ],檔案名稱命名為 [Lab3_CallWF]。

clip_image004


循序工作流程內容!

在這,我們在循序工作流程裡面新增一個 [ CodeActivity ]元件。並且點選 [ CodeActivity ] 元件兩下可以打開程式編輯視窗
。再這邊我們編寫簡單的一行程式,

[ System.Windows.Forms.MessageBox.Show("Hello World--工作流程已被啟動");
]。 這行程式會啟動一個彈出視窗來告知使用者這個流程被啟動了。

clip_image005

clip_image006

因為在WF流程中我們使用了訊息視窗這個類別( MessageBox ),所以我們必須將 System.Windows.Forms 加入參考。

clip_image007

建置檔案!! 運氣好的話就是看到建置成功~~^^|||。

clip_image008


加入Windows
From 專案!

在檔案的地方加入一個 [ 新增專案 ]。選擇Windows專案下的 [ Windows 應用程式 ]。

clip_image009

專案名稱命名為 [ Lab3_WinForm_CallWF ]。

clip_image010

會在方案總管中看到兩個專案,一個是WWF的專案、另一個是Windows Form。

clip_image011

在這我們要先加入 3 個跟Workflow foundation 相關的元件參考。

clip_image012

然後把剛剛做的 [ Lab2_CallWF ]專案中編譯出來的 [ Lab3_CallWF.dll ] 也加入參考。 路徑會在 [ Lab3_CallWF
\ bin \ Debug ] 資料夾下。

clip_image013

在 Form1 上我們拉一個Button放在中間,然後進入 Form1里面編輯程式碼。

clip_image001[1]

首先我們在程式碼最上方先設定剛剛加入參考的元件。這邊我們輸入

1. using System.Workflow.Activities;

2. using System.Workflow.ComponentModel;

3. using System.Workflow.Runtime;

4. using Lab3_CallWF;

clip_image014

接下來我們在Form1的部份編輯下列程式碼:

clip_image015

接著點選Form上面的Button‧進到 button1_Click 的事件區塊 編寫下列程式碼 :

clip_image016

clip_image017

撰寫完成!!我們建置 WinForm 的這個專案。運氣好的話會看到 建置完成!!!!

clip_image018


測試結果 !

執行專案可以看到一個WindowForm 的視窗,按下按鈕後你可以看到一個彈出視窗通知你 工作流程已經被啟動 。這個彈出視窗

是由 WF 專案裡面的 [ CodeActivity ] 所啟動的!!!

clip_image001[2]

clip_image003[1]