讓程式回應使用者:建立事件處理常式
更新:2007 年 11 月
在本課程中,您將學習如何建立事件處理常式。
您在先前的課程中已經了解,控制項具有屬性、方法和事件,而且它們是用來建立使用者介面。事件則是可能會發生在控制項上的事情。例如,可以按一下控制項、將文字輸入控制項中、滑鼠指標可以移過控制項等等。
當發生特定的事件時,控制項便會「引發事件」。這表示控制項會將訊號傳送到程式,讓程式知道有事件發生。然後程式就會檢查是否有任何方法可以處理該事件。這類方法就稱為「事件處理常式」。按一下按鈕時所執行的方法就是一個範例,就像您在與使用者互動:使用按鈕中建立的方法。
控制項可以引發各種事件,不過每個控制項永遠都只有一個預設事件。您可以針對各種不同的控制項事件,建立事件處理常式。在此課程中,您將會建立事件處理常式以處理按鈕的預設事件,也就是 Click 事件。這是當您按一下按鈕時便會發生的事件。接下來,您將建立事件處理常式以處理按鈕的 MouseEnter 和 MouseLeave 事件。這些是當滑鼠移過控制項時所會發生的事件。
試試看!
若要處理 Click 事件
在 [檔案] 功能表上,按一下 [新增專案]。
在 [新增專案] 對話方塊中,按一下 [範本] 窗格中的 [Windows 應用程式]。
在 [名稱] 方塊中,輸入 EventHandler,並按一下 [確定]。
會開啟新的 Windows Form 專案。
從 [工具箱] 將 Button 控制項拖曳到表單上。
在 [屬性] 視窗中,將 AutoSize 屬性設定為 True。
在 [檢視] 功能表上按一下 [程式碼],開啟 [程式碼編輯器]。
請注意 [程式碼編輯器] 上方的兩個下拉式方塊。左邊的方塊中包含表單上所有控制項的清單,以及 [Form1]、([一般]) 和 ([Form1 事件])。右邊的方塊中則包含列在左邊方塊中之項目可用的各種事件。
在左邊方塊中,按一下 [Button1]。
在右邊方塊中,按一下 [Click]。
稱為 Button1_Click 的新事件處理常式便會出現在 [程式碼編輯器] 中。
注意事項: 只要在表單上按兩下控制項,即可輸入控制項的預設事件處理常式。
在 Button1_Click 事件處理常式中,輸入下列程式碼。
MsgBox("You clicked the button")
請按 F5 執行您的應用程式。當您按一下 [Button1] 時,便會顯示訊息方塊。
加入另一個事件處理常式
您可以在相同控制項的其他事件處理常式中撰寫程式碼。例如,您可以變更當使用者將滑鼠指標移過按鈕時,會在按鈕上出現的文字。
若要處理 MouseEnter 事件
在 [程式碼編輯器] 中,確定已在左邊的下拉式清單方塊中選取 [Button1],然後按一下右邊下拉式清單方塊中的 MouseEnter。
稱為 Button1_MouseEnter 的新事件處理常式便會出現在 [程式碼編輯器] 中。
在 Button1_MouseEnter 事件處理常式中,輸入下列程式碼。
Button1.Text = "The Mouse has entered"
請按 F5 執行您的應用程式。讓滑鼠指標通過按鈕之上。請注意,當滑鼠指標通過 [Button1] 之上時,按鈕上的文字就會變更。
您可能已經注意到在上一個範例中,雖然 [Button1] 的文字在滑鼠指標通過時變更,但當滑鼠指標移開時,文字並不會變回原樣。如果您要在滑鼠移開按鈕之後變更文字,就必須處理 MouseLeave 事件以及 MouseEnter 事件。
若要處理 MouseLeave 事件
在 [程式碼編輯器] 中,確定已在左邊的下拉式清單方塊中選取 [Button1],然後按一下右邊下拉式清單方塊中的 MouseLeave。
稱為 [Button1_MouseLeave] 的新事件處理常式便會出現在 [程式碼編輯器] 中。
在 [Button1_MouseLeave] 事件處理常式中,輸入下列程式碼。
Button1.Text = "The mouse has left"
請按 F5 執行您的應用程式。
現在,當滑鼠指標通過按鈕之上時,文字就變更為 The mouse has entered,但是當滑鼠指標不再位於按鈕之上時,文字就變更為 The mouse has left。
後續步驟
在本課程中,您學會如何使用 [程式碼編輯器] 建立事件處理常式。現在,您可以進入這一系列課程中的下一個課程:取得使用者選項:使用核取方塊和選項按鈕,也可以用詳述:共用事件處理常式檢查事件處理常式。如果選擇第二個選項,您就應該儲存 EventHandler 專案,以便在該課程中使用。