作法:建立循序工作流程
工作流程可以從內建活動建構,也可以從自訂活動建構。 本主題將逐步解說如何建立前一個操作說明:建立活動主題中的內建活動,例如 Sequence 活動和自訂活動。 此工作流程會以數字猜測遊戲為模型。
注意
「快速入門」教學課程中的每個主題都與之前的主題息息相關。 若要完成本主題,您必須先完成操作說明:建立活動。
建立工作流程
在 [方案總管] 中,以滑鼠右鍵按一下 [NumberGuessWorkflowActivities],然後依序選取 [新增]、[新增項目]。
在 [已安裝]、[一般項目] 節點中,選取 [工作流程]。 從 [工作流程] 清單中選取 [活動]。
在 [名稱] 方塊中鍵入
SequentialNumberGuessWorkflow
,然後按一下 [新增]。從 [工具箱] 的 [控制流程] 區段,將 [Sequence] 活動拖放到工作流程設計介面上的 [在此置放活動] 標籤。
若要建立工作流程變數和引數
如果設計工具中尚未顯示工作流程,請按兩下 [方案總管] 中的 SequentialNumberGuessWorkflow.xaml 加以顯示。
按一下工作流程設計工具左下角的 [引數],以顯示 [引數] 窗格。
按一下 [建立引數]。
在 [名稱] 方塊中鍵入
MaxNumber
,從 [方向] 下拉清單中選取 [輸入],從 [引數類型] 下拉式清單中選取 [Int32],然後按 ENTER 鍵以儲存引數。按一下 [建立引數]。
在新增
MaxNumber
引數下的 [名稱] 方塊中鍵入Turns
,從 [方向] 下拉式清單中選取 [輸出],從 [引數類型] 下拉式清單中選取 [Int32],然後按 ENTER 鍵。在活動設計工具的左下方按一下 [引數],以關閉 [引數] 窗格。
按一下工作流程設計工具左下角的 [變數],以顯示 [變數] 窗格。
按一下 [建立變數]。
提示
如果沒有顯示 [建立變數] 方塊,請在工作流程設計工具介面上按一下 [Sequence] 活動加以選取。
在 [名稱] 方塊中鍵入
Guess
,從 [變數類型] 下拉式清單中選取 [Int32],然後按 ENTER 鍵以儲存變數。按一下 [建立變數]。
在 [名稱] 方塊中鍵入
Target
,從 [變數類型] 下拉式清單中選取 [Int32],然後按 ENTER 鍵以儲存變數。在活動設計工具的左下方按一下 [變數],以關閉 [變數] 窗格。
若要加入工作流程活動
從 [工具箱] 的 [基本] 區段中,將 [Assign] 活動拖放到 [Sequence] 活動上。 在 [到] 方塊中鍵入
Target
,然後在 [輸入 C# 運算式] 或 [輸入 VB 運算式] 方塊中鍵入下列運算式。New System.Random().Next(1, MaxNumber + 1)
new System.Random().Next(1, MaxNumber + 1)
提示
若 [工具箱] 視窗並未顯示,請從 [檢視] 功能表中選取 [工具箱]。
在 [工具箱] 的 [控制流程] 區段中,將 [DoWhile] 活動拖放到工作流程上的 [Assign] 活動下方。
在 [DoWhile] 活動的 [Condition] 屬性值方塊中鍵入下列運算式。
Guess <> Target
Guess != Target
DoWhile 活動會執行其子活動,然後評估其 Condition。 如果 Condition 判斷值為
True
,則會再次執行 DoWhile 中的活動。 此範例中會評估使用者的猜測,而 DoWhile 會繼續,直到猜測正確為止。在 [工具箱] 的 [NumberGuessWorkflowActivities] 區段中,將 [Prompt] 活動拖放到上一個步驟的 [DoWhile] 活動下方。
在 [屬性視窗] 中,於 [Prompt] 活動的 [BookmarkName] 屬性值方塊中鍵入
"EnterGuess"
(含引號)。 在 [結果] 屬性值方塊中鍵入Guess
,然後在 [文字] 屬性方塊中鍵入下列運算式。"Please enter a number between 1 and " & MaxNumber
"Please enter a number between 1 and " + MaxNumber
提示
若未顯示 [屬性視窗],請從 [檢視] 功能表中選取 [屬性視窗]。
從 [工具箱] 的 [基本] 區段中,將 [Assign] 活動拖放到 [DoWhile] 活動中,使其接在 [Prompt] 活動之後。
注意
當您拖放 [Assign] 活動時,請注意工作流程設計工具如何自動新增 [Sequence] 活動,以同時包含 [Prompt] 活動和最近新增的 [Assign] 活動。
在 [到] 方塊中鍵入
Turns
,然後在 [輸入 C# 運算式] 或 [輸入 VB 運算式] 方塊中鍵入Turns + 1
。在 [工具箱] 的 [控制流程] 區段中,將 [If] 活動拖放到 [Sequence] 活動,使其接在最近新增的 [Assign] 活動之後。
在 [If] 活動的 [Condition] 屬性值方塊中鍵入下列運算式。
Guess <> Target
Guess != Target
從 [工具箱] 的 [控制流程] 區段,將另一個 [If] 活動拖放到第一個 [If] 活動的 [Then] 區段。
在最近新增的 [If] 活動的 [Condition] 屬性值方塊中鍵入下列運算式。
Guess < Target
從 [工具箱] 的 [基本] 區段拖放兩個 [WriteLine] 活動,其中一個放置到最近新增之 [If] 活動的 [Then] 區段,另一個放置在 [Else] 區段。
按一下 [Then] 區段中的 [WriteLine] 活動加以選取,並在 [Text] 屬性值方塊中鍵入下列運算式。
"Your guess is too low."
按一下 [Else] 區段中的 [WriteLine] 活動加以選取,並在 [Text] 屬性值方塊中鍵入下列運算式。
"Your guess is too high."
下列範例示範完成的工作流程:
若要建置工作流程
按下 CTRL+SHIFT+B 以建置方案。
如需如何執行工作流程的指示,請參閱下一個主題:操作說明:執行工作流程。 若是使用了不同樣式的工作流程完成操作說明:執行工作流程步驟,並想從此步驟開始使用循序工作流程,請直接跳到操作說明:執行工作流程的建置和執行應用程式一節。