vb窗体所有事件(2)

来源:百度文库 编辑:神马文学网 时间:2024/04/29 06:23:29
2009-10-03 21:21
l         KeyDown事件:按下键盘上的任意键
l         KeyUp事件:释放键盘的任意键
l         KeyPress事件:按下对应某ASCII字符的键
(11)KeyDown事件和KeyUp事件
按下键盘上的任意一个键,就会引发当前具有焦点的对象的KeyDown事件。释放时,则会引发该对象的KeyUp事件。
以窗体为例,KeyDown事件和KeyUp事件的语法如下:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
①Keycode参数
KeyCode参数是一个整数,返回所按键的键码值。键码值是以“键”为准。例如,由于大写字母和小写字母使用同一键,因此“A”和“a”的键码值是相同的。又如大键盘上的数字“1”和小建盘上的数字“1”,虽然是同一数字,但由于键不同,它们的键码值也不相同。常用键的键码值如表4-1所示:
表4-1 常用键的键码值

②Shift参数
Shift参数是一个整数值,返回Shift、Ctrl、Alt的状态。只有检查此状态才能判断输入的是大写还是小写字母。
Shift参数用来判断是否按下了键盘上的Shift、Ctrl和Alt,或这3个键的任意组合,其对应的关系如表4-2所示:
表4-2 Shift的取值和Shift、Ctrl和Alt组合状态的对应关系

下面的代码将测试你当前按下的键,并通过消息框告诉你。
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Dim ShiftKey As Integer
ShiftKey = Shift And 7   '7对应为1+2+4
Select Case ShiftKey
Case 1 '或VbShiftMask
MsgBox "You pressed the Shift key."
Case 2 '或VbCtrlMask
MsgBox "You pressed the Ctrl key."
Case 4 '或VbAltMask
MsgBox "You pressed the Alt key."
End Select
End Sub