关键词搜索

源码搜索 ×
×

VB键盘事件详解

发布2021-01-29浏览3450次

详情内容

“ 本节课程一起学习VB中的键盘事件。”

键盘事件的作用:
获得键盘输入信息,只有获得焦点的对象才能接受键盘事件。

键盘事件有三种:
KeyPress、KeyDown、KeyUp

KeyPress:
按了键盘的某键时触发,返回键盘的Ascii码
KeyDown:
按下键盘的某键触发,返回键盘的直接状态,即该键的"扫瞄码"值
KeyUp:
释放键盘的某键触发,返回键盘的直接状态,即该键的"扫瞄码"值

键盘事件触发顺序

在按下键盘某键时,三种事件触发顺序是:
KeyDown → KeyPress → KeyUp

写个简单的代码来测试一下是不是这样的顺序。如下所示:

按下键盘任意按键(除功能键)
在这里插入图片描述

代码如下:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)    
  Print "KeyDown" 
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)    
  Print "KeyPress"
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)    
  Print "KeyUp"
End Sub

    当窗体KeyPreview属性设置为True时,则首先触发窗体的键盘事件。

    键盘事件优先于控件事件发生。例如Text_Change事件,在键盘事件之后发生。

    键盘事件的形参:
    KeyPress事件有一个形参:KeyAscii
    KeyDown事件有两个形参:KeyCode、Shift
    KeyUp事件有两个形参:KeyCode、Shift

    形参含义解释
    1,KeyAscii
    该值接受系统自动传来的当前按键的Ascii码值。可以识别字母、数字、标点、Enter、BackSpace、Tab等,其它功能键不能识别。
    "A"键的KeyAscii值=65 "a"键的KeyAscii值=97

    常用KeyAscii值对照表

    图片

    2,KeyCode
    返回键盘的扫描码值。不区分大小写。"A"和"a"的KeyCode都是65

    3,Shift
    返回Shift、Ctrl、Alt三键的状态
    按下Shift时,Shift=1
    按下Ctrl时,Shift=2
    按下Alt时,Shift=4

    举例1:
    当用户按下键盘时,输出KeyAscii、KeyCode、Shift三个形参的值。

    图片

    代码如下:

    Private Sub Form_KeyPress(KeyAscii As Integer)     
      Print "KeyAscii值:" & KeyAscii;
    End Sub
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)    
      Print "  KeyCode值:" & KeyCode; "  Shift值:" & Shift
    End Sub
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    举例2:
    限制文本框中只能接收“0”~“9”的数字字符。

    Private Sub Text1_KeyPress(KeyAscii As Integer) 
        If KeyAscii < 48 Or KeyAscii > 57 Then 
            MsgBox "请输入0-9之间的数字"
            KeyAscii = 0
        End If
    End Sub
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    相关技术文章

    最新源码

    下载排行榜

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载