使程序响应用户:创建事件处理程序
更新:2007 年 11 月
在本课中,您将学习如何创建事件处理程序。
在前面的课程中,您知道了控件具有属性、方法和事件并且用于创建用户界面。事件是控件上可能发生的相关事情。例如,可以单击控件,向其中键入文本,鼠标指针可以移过它,等等。
当发生某个相关事情时,控件会引发事件。这意味着它给程序发送一个信号,使其知道发生了某些事情。然后程序检查自己是否有方法处理该事件。这类方法称作“事件处理程序”。当单击按钮时运行的方法就属于这类方法,比如您在与用户交互:使用按钮中创建的方法。
控件可以引发各种类型的事件,但对于每个控件来说,始终存在一个默认事件。您可以为各种控件事件创建事件处理程序。在本课中,您将创建事件处理程序以处理按钮的默认事件,即 Click 事件。此事件是单击按钮时发生的事件。紧接着,将创建事件处理程序来处理按钮的 MouseEnter 和 MouseLeave 事件。这些事件是当鼠标移过控件时发生的事件。
试一试!
处理 Click 事件
在“文件”菜单上单击“新建项目”。
在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。
在“名称”框中键入 EventHandler,并单击“确定”。
一个新的 Windows 窗体项目随即打开。
将一个 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 的文本在鼠标指针经过时发生变化,但是鼠标指针离开时该文本并未还原。如果希望文本在鼠标不再停留在按钮上时发生变化,必须处理 MouseEnter 事件和 MouseLeave 事件。
处理 MouseLeave 事件
在代码编辑器中,确保在左侧的下拉框中选择了“Button1”,然后在右侧的下拉框中单击 MouseLeave。
一个名为 Button1_MouseLeave 的新的事件处理程序出现在代码编辑器中。
在 Button1_MouseLeave 事件处理程序中键入下面的代码。
Button1.Text = "The mouse has left"
按 F5 运行该应用程序。
现在,当鼠标指针经过该按钮时,文本变为 The mouse has entered,而当鼠标指针不再停留在该按钮上时,文本变为 The mouse has left。
后续步骤
在本课中,您学习了如何使用代码编辑器创建事件处理程序。现在,您可以继续本系列中的下一课获取用户选项:使用复选框和单选按钮,或者通过详细了解:共享事件处理程序查看事件处理程序。如果您选择第二个选项,应该保存 EventHandler 项目以便在那一课中使用。