步驟 3:結束遊戲
若要結束遊戲,您需要讓 [完成] 標籤發揮作用。 做法就是針對標籤的 MouseEnter 事件加入事件處理常式。
注意事項 |
---|
如果您已完成「教學課程 1:建立圖片檢視器」,則您應該了解事件處理常式。大部分控制項都具有許多可引發的不同事件。圖片檢視器使用 Button 控制項 Click 事件和 CheckBox 控制項 CheckChanged 事件。在本教學課程中,您將會使用 Label 控制項 MouseEnter 事件,每當滑鼠指標進入控制項時就會引發此事件。Label 控制項有超過 48 個事件。大多數都有直覺式的名稱,例如 DoubleClick、Resize 和 TextChanged。本教學課程稍後會列出事件名稱的清單。 |
如本主題的影像版本,請參閱教學課程 2: 建立,當然在 Visual Basic-視訊的 2 或 教學課程 2: 建立,當然在 C#-視訊 2。
若要結束遊戲
選取 finishLabel 控制項,然後按一下[屬性] 視窗頂端的 [事件] 圖示,它的形狀像閃電。 當您按一下它時,會顯示控制項的事件,而不是顯示控制項的屬性。 按一下 [屬性] 圖示可以回到屬性清單。 現在,保持 [屬性] 視窗不變,所以目前是顯示 finishLabel 控制項的所有事件。 向下捲動至 MouseEnter 事件。 圖示和 MouseEnter 事件如下所示。
事件圖示
屬性圖示
MouseEnter 事件
按兩下 [MouseEnter] 這個字。 這樣做之後,IDE 會自動將事件處理常式加入至表單,並顯示在程式碼編輯器中,如下所示。
Private Sub finishLabel_MouseEnter(sender As System.Object, e As System.EventArgs) Handles finishLabel.MouseEnter End Sub
private void finishLabel_MouseEnter(object sender, EventArgs e) { }
每當滑鼠指標進入標籤時,就會執行此事件處理常式方法。
您希望程式開啟訊息方塊來顯示 [恭喜],然後程式就結束。 若要這樣做,請加入程式碼行 (含註解),如下所示。
Private Sub finishLabel_MouseEnter(sender As System.Object, e As System.EventArgs) 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() 的方法,此方法會開啟包含您在括號內輸入的任何文字的訊息方塊。
您可以使用 IDE 探索程式碼,進一步了解實際發生的情形。 將滑鼠指標移至 [MessageBox] 這個字上並停留。 您應該會看到下列工具提示。
Tooltip
注意事項 IDE 會顯示有一個稱為 System.Windows.Forms.MessageBox 的類別,您呼叫的 Show() 方法就位於該類別內。您不需要完全了解也能讓訊息方塊發揮作用,但了解更多資訊會有所幫助。
關於第二個陳述式,每一個表單都有一個內建的方法,稱為 Close(),此方法會導致表單關閉。有些程式具有多個視窗可供使用者切換。在使用這種程式時,只會關閉目前的視窗,程式的其餘部分會繼續執行 (例如,如果您同時開啟多個 Microsoft Office Word 文件,則關閉一個文件視窗只會關閉該文件,Office Word 仍然會保持開啟)。 但是,在類似這種的程式中,因為只有一個視窗,關閉該視窗會導致程式停止執行,所以關閉表單就會關閉程式。
儲存並執行您的程式。 將滑鼠指標移至 [完成] 標籤上。 這樣應該會開啟訊息,然後關閉程式。
若要繼續或檢視
若要移到下一個教學課程步驟,請參閱步驟 4:加入方法以重新啟動遊戲。
若要回到上一個教學課程步驟,請參閱步驟 2:使用標籤建置您的迷宮程式。