【例9-2】在窗体上移动鼠标时,将当前的鼠标位 置显示在文本框中。如下图: 第九章105-B0-0 测试鼠标移动事件 回☒ X坐标: 2085 坐标: 450 Text1 Text2 窗体的MouseMove事件过程如下: Private Sub Form MouseMove(Button As Integer, 用控件 Shift As Integer,X As Single,Y As Single) Text1.Text =X Text2.Text Y End Sub 11
第 九 章Visual Basic 常 用 控 件 11 【例9-2】在窗体上移动鼠标时,将当前的鼠标位 置显示在文本框中。如下图: 窗体的MouseMove事件过程如下: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.Text = X : Text2.Text = Y End Sub Text1 Text2
9.2.2键盘事件 l.KeyPress事件 第九章 当用户按下并释放键盘上一个会产生ASCⅡ码的 按键时产生KeyPress-事件。如按下数字键、字母键、 Visua Tab、Enter、BackSpace、Esc等都会产生KeyPress 事件。 Basi 例如,某文本框Text1的KeyPress事件过程如下: Private Sub Text1 KeyPress(KeyAscii As Integer) 常用控件 End Sub KeyAscii参数:与按键对应的ASCⅡ码值。 12
第 九 章Visual Basic 常 用 控 件 12 9.2.2 键盘事件 1.KeyPress事件 当用户按下并释放键盘上一个会产生ASCII码的 按键时产生KeyPress事件。如按下数字键、字母键、 Tab、Enter、BackSpace、Esc等都会产生KeyPress 事件。 例如,某文本框Text1的KeyPress事件过程如下: Private Sub Text1_KeyPress(KeyAscii As Integer) . End Sub KeyAscii参数:与按键对应的ASCII码值
注意: >对于同一个字母的按键,其大、小写形式返回 第九章 不同的KeyAsciif值。 > 只有当对象具有焦点时才可以接收KeyPress事 Visua 件。 一个窗体仅在它没有可视和有效的控件或 m常用控件 KeyPreview属性被设置为True时才能接收该事 件。 >使用文本框的KeyPress3事件可以及时对输入的 内容进行检查,以保证输入内容的有效性。 13
第 九 章Visual Basic 常 用 控 件 13 注意: ➢ 对于同一个字母的按键,其大、小写形式返回 不同的KeyAscii值。 ➢ 只有当对象具有焦点时才可以接收KeyPress事 件。 ➢ 一个窗体仅在它没有可视和有效的控件或 KeyPreview属性被设置为True时才能接收该事 件。 ➢ 使用文本框的KeyPress事件可以及时对输入的 内容进行检查,以保证输入内容的有效性
【例93】设某应用程序用文本框输入学生成绩, 并能根据成绩给出五级评分。现在需要对输入的成 第九章 绩进行有效性验证,如果输入的字符不是阿拉伯数 字,则响铃,并消除该字符。 分析:设用文本框Text1输入成绩。当焦点在文本 框Text1时,按下键盘上任意一个键都需要判断所 Bas 输入的是否是数字0到9。因此可以在Text1的 KeyPress事件过程中对参数KeyAscii的值进行判断。 常 已知0到9的ASCⅡ码为48~57,所以当KeyAscii的 控件 值不在48~57的范围内时,需要响铃(用Beep语 句),并消除该字符(将KeyAscii设置为0)。 14
第 九 章Visual Basic 常 用 控 件 14 【例9-3】设某应用程序用文本框输入学生成绩, 并能根据成绩给出五级评分。现在需要对输入的成 绩进行有效性验证,如果输入的字符不是阿拉伯数 字,则响铃,并消除该字符。 分析:设用文本框Text1输入成绩。当焦点在文本 框Text1时,按下键盘上任意一个键都需要判断所 输入的是否是数字0到9。因此可以在Text1的 KeyPress事件过程中对参数KeyAscii的值进行判断。 已知0到9的ASCII码为48~57,所以当KeyAscii的 值不在48~57的范围内时,需要响铃(用Beep语 句),并消除该字符(将KeyAscii设置为0)
代码如下: 第九章 Private Sub Text1 KeyPress(KeyAscii As Integer) If KeyAscii <48 Or KeyAscii>57 Then Beep 响铃 Visua KeyAscii =0 ·消除该字符 End If End Sub P品。常用控件 15
第 九 章Visual Basic 常 用 控 件 15 代码如下: Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then Beep ' 响铃 KeyAscii = 0 ' 消除该字符 End If End Sub