共用方式為


讓程式回應使用者:建立事件處理常式

更新:2007 年 11 月

在本課程中,您將學習如何建立事件處理常式。

您在先前的課程中已經了解,控制項具有屬性、方法和事件,而且它們是用來建立使用者介面。事件則是可能會發生在控制項上的事情。例如,可以按一下控制項、將文字輸入控制項中、滑鼠指標可以移過控制項等等。

當發生特定的事件時,控制項便會「引發事件」。這表示控制項會將訊號傳送到程式,讓程式知道有事件發生。然後程式就會檢查是否有任何方法可以處理該事件。這類方法就稱為「事件處理常式」。按一下按鈕時所執行的方法就是一個範例,就像您在與使用者互動:使用按鈕中建立的方法。

控制項可以引發各種事件,不過每個控制項永遠都只有一個預設事件。您可以針對各種不同的控制項事件,建立事件處理常式。在此課程中,您將會建立事件處理常式以處理按鈕的預設事件,也就是 Click 事件。這是當您按一下按鈕時便會發生的事件。接下來,您將建立事件處理常式以處理按鈕的 MouseEnterMouseLeave 事件。這些是當滑鼠移過控制項時所會發生的事件。

試試看!

若要處理 Click 事件

  1. 在 [檔案] 功能表上,按一下 [新增專案]。

  2. 在 [新增專案] 對話方塊中,按一下 [範本] 窗格中的 [Windows 應用程式]。

  3. 在 [名稱] 方塊中,輸入 EventHandler,並按一下 [確定]。

    會開啟新的 Windows Form 專案。

  4. 從 [工具箱] 將 Button 控制項拖曳到表單上。

  5. 在 [屬性] 視窗中,將 AutoSize 屬性設定為 True。

  6. 在 [檢視] 功能表上按一下 [程式碼],開啟 [程式碼編輯器]。

    請注意 [程式碼編輯器] 上方的兩個下拉式方塊。左邊的方塊中包含表單上所有控制項的清單,以及 [Form1]、([一般]) 和 ([Form1 事件])。右邊的方塊中則包含列在左邊方塊中之項目可用的各種事件。

  7. 在左邊方塊中,按一下 [Button1]。

  8. 在右邊方塊中,按一下 [Click]。

    稱為 Button1_Click 的新事件處理常式便會出現在 [程式碼編輯器] 中。

    注意事項:

    只要在表單上按兩下控制項,即可輸入控制項的預設事件處理常式。

  9. 在 Button1_Click 事件處理常式中,輸入下列程式碼。

    MsgBox("You clicked the button")
    
  10. 請按 F5 執行您的應用程式。當您按一下 [Button1] 時,便會顯示訊息方塊。

加入另一個事件處理常式

您可以在相同控制項的其他事件處理常式中撰寫程式碼。例如,您可以變更當使用者將滑鼠指標移過按鈕時,會在按鈕上出現的文字。

若要處理 MouseEnter 事件

  1. 在 [程式碼編輯器] 中,確定已在左邊的下拉式清單方塊中選取 [Button1],然後按一下右邊下拉式清單方塊中的 MouseEnter

    稱為 Button1_MouseEnter 的新事件處理常式便會出現在 [程式碼編輯器] 中。

  2. 在 Button1_MouseEnter 事件處理常式中,輸入下列程式碼。

    Button1.Text = "The Mouse has entered"
    

    請按 F5 執行您的應用程式。讓滑鼠指標通過按鈕之上。請注意,當滑鼠指標通過 [Button1] 之上時,按鈕上的文字就會變更。

您可能已經注意到在上一個範例中,雖然 [Button1] 的文字在滑鼠指標通過時變更,但當滑鼠指標移開時,文字並不會變回原樣。如果您要在滑鼠移開按鈕之後變更文字,就必須處理 MouseLeave 事件以及 MouseEnter 事件。

若要處理 MouseLeave 事件

  1. 在 [程式碼編輯器] 中,確定已在左邊的下拉式清單方塊中選取 [Button1],然後按一下右邊下拉式清單方塊中的 MouseLeave

    稱為 [Button1_MouseLeave] 的新事件處理常式便會出現在 [程式碼編輯器] 中。

  2. 在 [Button1_MouseLeave] 事件處理常式中,輸入下列程式碼。

    Button1.Text = "The mouse has left"
    
  3. 請按 F5 執行您的應用程式。

    現在,當滑鼠指標通過按鈕之上時,文字就變更為 The mouse has entered,但是當滑鼠指標不再位於按鈕之上時,文字就變更為 The mouse has left。

後續步驟

在本課程中,您學會如何使用 [程式碼編輯器] 建立事件處理常式。現在,您可以進入這一系列課程中的下一個課程:取得使用者選項:使用核取方塊和選項按鈕,也可以用詳述:共用事件處理常式檢查事件處理常式。如果選擇第二個選項,您就應該儲存 EventHandler 專案,以便在該課程中使用。

請參閱

參考

Label 控制項概觀 (Windows Form)

TextBox 控制項概觀 (Windows Form)

其他資源

建立程式的視覺外觀:Windows Form 簡介

Visual Basic 6.0 使用者可用的控制項屬性、方法和事件變更