- VB.Net 基础教程
- VB.Net - 首页
- VB.Net - 概述
- VB.Net - 环境设置
- VB.Net - 程序结构
- VB.Net - 基本语法
- VB.Net - 数据类型
- VB.Net - 变量
- VB.Net - 常量
- VB.Net - 修饰符
- VB.Net - 语句
- VB.Net - 指令
- VB.Net - 运算符
- VB.Net - 决策制定
- VB.Net - 循环
- VB.Net - 字符串
- VB.Net - 日期和时间
- VB.Net - 数组
- VB.Net - 集合
- VB.Net - 函数
- VB.Net - 子过程
- VB.Net - 类和对象
- VB.Net - 异常处理
- VB.Net - 文件处理
- VB.Net - 基本控件
- VB.Net - 对话框
- VB.Net - 高级窗体
- VB.Net - 事件处理
- VB.Net 高级教程
- VB.Net - 正则表达式
- VB.Net - 数据库访问
- VB.Net - Excel 表格
- VB.Net - 发送电子邮件
- VB.Net - XML 处理
- VB.Net - Web 编程
- VB.Net 有用资源
- VB.Net - 快速指南
- VB.Net - 有用资源
- VB.Net - 讨论
VB.Net - 事件处理
事件基本上是用户操作,例如按键、点击、鼠标移动等,或某些事件,例如系统生成的通知。应用程序需要在事件发生时对其做出响应。
单击按钮、在文本框中输入某些文本或单击菜单项,这些都是事件的示例。事件是调用函数或可能导致其他事件的操作。事件处理程序是指示如何响应事件的函数。
VB.Net 是一种事件驱动的语言。主要有两种类型的事件:
鼠标事件
键盘事件
处理鼠标事件
鼠标事件发生在窗体和控件中的鼠标移动时。以下是与 Control 类相关的各种鼠标事件:
MouseDown - 当按下鼠标按钮时发生
MouseEnter - 当鼠标指针进入控件时发生
MouseHover - 当鼠标指针悬停在控件上时发生
MouseLeave - 当鼠标指针离开控件时发生
MouseMove - 当鼠标指针在控件上移动时发生
MouseUp - 当鼠标指针位于控件上并释放鼠标按钮时发生
MouseWheel - 当鼠标滚轮移动且控件具有焦点时发生
鼠标事件的事件处理程序获取类型为MouseEventArgs的参数。MouseEventArgs 对象用于处理鼠标事件。它具有以下属性:
Buttons - 指示按下的鼠标按钮
Clicks - 指示点击次数
Delta - 指示鼠标滚轮旋转的棘爪数
X - 指示鼠标点击的 x 坐标
Y - 指示鼠标点击的 y 坐标
示例
以下是一个示例,它展示了如何处理鼠标事件。请按照以下步骤操作:
在窗体中添加三个标签、三个文本框和一个按钮控件。
将标签的 Text 属性分别更改为 - 客户 ID、姓名和地址。
将文本框的 Name 属性分别更改为 txtID、txtName 和 txtAddress。
将按钮的 Text 属性更改为“提交”。
在代码编辑器窗口中添加以下代码:
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspont.com" End Sub Private Sub txtID_MouseEnter(sender As Object, e As EventArgs)_ Handles txtID.MouseEnter 'code for handling mouse enter on ID textbox txtID.BackColor = Color.CornflowerBlue txtID.ForeColor = Color.White End Sub Private Sub txtID_MouseLeave(sender As Object, e As EventArgs) _ Handles txtID.MouseLeave 'code for handling mouse leave on ID textbox txtID.BackColor = Color.White txtID.ForeColor = Color.Blue End Sub Private Sub txtName_MouseEnter(sender As Object, e As EventArgs) _ Handles txtName.MouseEnter 'code for handling mouse enter on Name textbox txtName.BackColor = Color.CornflowerBlue txtName.ForeColor = Color.White End Sub Private Sub txtName_MouseLeave(sender As Object, e As EventArgs) _ Handles txtName.MouseLeave 'code for handling mouse leave on Name textbox txtName.BackColor = Color.White txtName.ForeColor = Color.Blue End Sub Private Sub txtAddress_MouseEnter(sender As Object, e As EventArgs) _ Handles txtAddress.MouseEnter 'code for handling mouse enter on Address textbox txtAddress.BackColor = Color.CornflowerBlue txtAddress.ForeColor = Color.White End Sub Private Sub txtAddress_MouseLeave(sender As Object, e As EventArgs) _ Handles txtAddress.MouseLeave 'code for handling mouse leave on Address textbox txtAddress.BackColor = Color.White txtAddress.ForeColor = Color.Blue End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) _ Handles Button1.Click MsgBox("Thank you " & txtName.Text & ", for your kind cooperation") End Sub End Class
当上述代码执行并使用 Microsoft Visual Studio 工具栏中的启动按钮运行时,它将显示以下窗口:
尝试在文本框中输入文本并检查鼠标事件:
处理键盘事件
以下是与 Control 类相关的各种键盘事件:
KeyDown - 当按下某个键且控件具有焦点时发生
KeyPress - 当按下某个键且控件具有焦点时发生
KeyUp - 当释放某个键且控件具有焦点时发生
KeyDown 和 KeyUp 事件的事件处理程序获取类型为KeyEventArgs的参数。此对象具有以下属性:
Alt - 指示是否按下了 ALT 键
Control - 指示是否按下了 CTRL 键
Handled - 指示是否处理了事件
KeyCode - 存储事件的键盘代码
KeyData - 存储事件的键盘数据
KeyValue - 存储事件的键盘值
Modifiers - 指示按下了哪些修饰键(Ctrl、Shift 和/或 Alt)
Shift - 指示是否按下了 Shift 键
KeyDown 和 KeyUp 事件的事件处理程序获取类型为KeyEventArgs的参数。此对象具有以下属性:
Handled - 指示是否处理了 KeyPress 事件
KeyChar - 存储对应于所按键的字符
示例
让我们继续使用前面的示例来演示如何处理键盘事件。代码将验证用户是否为其客户 ID 和年龄输入了一些数字。
添加一个标签,其 Text 属性为“年龄”,并添加一个名为 txtAge 的相应文本框。
添加以下代码以处理文本框 txtID 的 KeyUP 事件。
Private Sub txtID_KeyUP(sender As Object, e As KeyEventArgs) _ Handles txtID.KeyUp If (Not Char.IsNumber(ChrW(e.KeyCode))) Then MessageBox.Show("Enter numbers for your Customer ID") txtID.Text = " " End If End Sub
添加以下代码以处理文本框 txtID 的 KeyUP 事件。
Private Sub txtAge_KeyUP(sender As Object, e As KeyEventArgs) _ Handles txtAge.KeyUp If (Not Char.IsNumber(ChrW(e.keyCode))) Then MessageBox.Show("Enter numbers for age") txtAge.Text = " " End If End Sub
当上述代码执行并使用 Microsoft Visual Studio 工具栏中的启动按钮运行时,它将显示以下窗口:
如果您将年龄或 ID 的文本留空或输入了一些非数字数据,它会显示一个警告消息框并清除相应的文本: