步骤 3:结束游戏

若要结束游戏,请使用**“完成”**标签。可以通过为标签的 MouseEnter 事件添加事件处理程序来执行此操作。

说明说明

如果您已完成“教程 1:创建图片查看器”,则您应了解事件处理程序。大多数控件都具有它们可引发的多个不同事件。图片查看器使用了 Button 控件的 Click 事件和 CheckBox 控件的 CheckedChanged 事件。在本教程中,将使用 Label 控件的 MouseEnter 事件,每当鼠标指针进入该控件时都将引发此事件。Label 控件具有四打以上的事件。其中的大多数事件都具有直观的名称,如“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. 您希望程序打开显示“Congratulations”(祝贺)的消息框,然后希望程序关闭。为此,您需要添加如下所示的代码行(带注释)。

    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. 保存并运行程序。将鼠标指针移动到**“完成”**标签的上方。这将打开消息并关闭程序。

继续或查看