Share via


步驟 3:結束遊戲

若要結束遊戲,您需要讓 [完成] 標籤發揮作用。做法就是針對標籤的 MouseEnter 事件加入事件處理常式。

注意事項注意事項

如果您已完成「教學課程 1:建立圖片檢視器」,則您應該了解事件處理常式。大部分控制項都具有許多可引發的不同事件。圖片檢視器使用 Button 控制項 Click 事件和 CheckBox 控制項 CheckChanged 事件。在本教學課程中,您將會使用 Label 控制項 MouseEnter 事件,每當滑鼠指標進入控制項時就會引發此事件。Label 控制項有超過 48 個事件。大多數都有直覺式的名稱,例如 DoubleClick、Resize 和 TextChanged。本教學課程稍後會列出事件名稱的清單。

若要結束遊戲

  1. 選取 finishLabel 控制項,然後按一下[屬性] 視窗頂端的 [事件] 圖示,它的形狀像閃電。當您按一下它時,會顯示控制項的事件,而不是顯示控制項的屬性。按一下 [屬性] 圖示可以回到屬性清單。現在,保持 [屬性] 視窗不變,所以目前是顯示 finishLabel 控制項的所有事件。向下捲動至 MouseEnter 事件。圖示和 MouseEnter 事件如下所示。

    事件圖示

    事件圖示

    屬性圖示

    屬性圖示

    MouseEnter 事件

    MouseEnter 事件

  2. 按兩下 [MouseEnter] 這個字。這樣做之後,IDE 會自動將事件處理常式加入至表單,並顯示在程式碼編輯器中,如下所示。

    Private Sub finishLabel_MouseEnter() Handles finishLabel.MouseEnter
    
    End Sub
    
    private void finishLabel_MouseEnter(object sender, EventArgs e)
    {
    
    }
    

    每當滑鼠指標進入標籤時,就會執行此事件處理常式方法。

  3. 您希望程式開啟訊息方塊來顯示 [恭喜],然後程式就結束。若要這樣做,請加入程式碼行 (含註解),如下所示。

    Private Sub finishLabel_MouseEnter() Handles finishLabel.MouseEnter
    
        ' Show a congratulatory MessageBox, then close the form.
        MessageBox.Show("Congratulations!")
        Close()
    End Sub
    
    private void finishLabel_MouseEnter(object sender, EventArgs e)
    {
        // Show a congratulatory MessageBox, then close the form.
        MessageBox.Show("Congratulations!");
        Close();
    }
    
    注意事項注意事項

    finishLabel_MouseEnter() 方法有兩個陳述式。第一個陳述式會呼叫名為 Show() 的方法,此方法會開啟包含您在括號內輸入的任何文字的訊息方塊。

  4. 您可以使用 IDE 探索程式碼,進一步了解實際發生的情形。將滑鼠指標移至 [MessageBox] 這個字上並停留。您應該會看到下列工具提示。

    工具提示

    工具提示

    注意事項注意事項

    IDE 會顯示有一個稱為 System.Windows.Forms.MessageBox 的類別,您呼叫的 Show() 方法就位於該類別內。您不需要完全了解也能讓訊息方塊發揮作用,但了解更多資訊會有所幫助。

    關於第二個陳述式,每一個表單都有一個內建的方法,稱為 Close(),此方法會導致表單關閉。有些程式具有多個視窗可供使用者切換。在使用這種程式時,只會關閉目前的視窗,程式的其餘部分會繼續執行 (例如,如果您同時開啟多個 Microsoft Office Word 文件,則關閉一個文件視窗只會關閉該文件,Office Word 仍然會保持開啟)。但是,在類似這種的程式中,因為只有一個視窗,關閉該視窗會導致程式停止執行,所以關閉表單就會關閉程式。

  5. 儲存並執行您的程式。將滑鼠指標移至 [完成] 標籤上。這樣應該會開啟訊息,然後關閉程式。

若要繼續或檢視