重新认识键盘与鼠标——键盘事件与鼠标事件

简介: 重新认识键盘与鼠标——键盘事件与鼠标事件

一、键盘事件

1.1 详解VB提供三种键盘事件:KeyPress、KeyDown和KeyUp。

如果按下键盘上一个会产生ASCII码的字符键(字母键、数字键和符号键)时,就会触发keyPress事件;

如果按下键盘上的任意键,就会触发KeyDown事件;

如果释放键盘上的任意键,就会触发KeyUp事件。

如果用户按下一个KeyPress不能检测的键时,则触发KeyDown事件。

image.png

1.2 KeyPress事件

语法格式

private sub <对象名>_KeyPress(KeyASCII as integer)
    ******
end sub

注:<对象名>是接受键盘事件的窗体或者控件名称。


参数keyPress是所按键的ASCII码值。


常见ASCII码的大小规则:0~9<A~Z<a~z。


48~57为0到9十个阿拉伯数字。


65~90为26个大写英文字母,


97~122为26个小写英文字母,


-20319~-3652为汉字。


1.3 KeyDown和KeyUp事件

KeyDown和KeyUp事件的语法格式同为:


private sub <对象名>_event(KeyCode as integer,Shift as integer)
    ******
end sub 

注:


<对象名>是接受键盘事件的窗体或者控件名称。event是键盘事件的名字,KeyDown或KeyUp

参数KeyCode表示按下的物理键,通过ASCII码值或键代码常数来识别。

参数Shift用于表示键盘事件发生时shift、Ctrl和Alt键的状态。

image.png

例如


Private Sub txtCardNo_KeyDown(KeyCode As Integer, Shift As Integer)
    If Shift = 2 And KeyCode = vbKeyV Then  '如果是Ctrl+V,清空剪贴板
        Clipboard.Clear
    End If
End Sub

二、鼠标事件

单击鼠标触发Click事件,双击鼠标触发DblClick事件。当用户按下鼠标时触发MouseDown事件,松开鼠标时触发MouseUp事件,鼠标指针移动时触发MouseMove事件。


MouseDown、MouseUp和MouseMove事件

MouseDown、MouseUp和MouseMove事件过程的语法格式同为

private sub <对象名>_event(Button as Integer,Shift as Integer,X as Single,Y as SIngle)
    *******
end sub 

注:


<对象名>是接受键盘事件的窗体或者控件名称。event是键盘事件的名字,MouseDown、MouseUp和MouseMove。

参数Button表示引起该事件的是鼠标的那个键。中键3,右键2,左键1。

参数Shift表示当鼠标键被按下或者松开时,shift、Ctrl和Alt键的状态。(具体含义与键盘事件一样)

参数X和Y表示鼠标指针的位置。

例如

Private Sub txtCardNo_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 2 Then      '如果是右键,清空剪贴板
        Clipboard.Clear
    End If
End Sub

相关文章
Qt | 鼠标事件和滚轮事件 QMouseEvent、QWheelEvent
学习使用Qt的鼠标事件和滚轮事件。
806 0
|
JavaScript 前端开发 数据安全/隐私保护
鼠标事件、键盘事件,你听过嘛?
鼠标事件、键盘事件,你听过嘛?
172 0
鼠标事件、键盘事件,你听过嘛?
C#(二十八)之C#鼠标事件、键盘事件
鼠标事件分为两种:EventArgs、MouseEventArgs。 键盘事件:KeyEventArgs、KeyPressEventArgs、KeyPress、KeyDown、KeyUp。
455 0
C#(二十八)之C#鼠标事件、键盘事件
|
移动开发 数据可视化 前端开发
解决安卓收起键盘无法触发失焦事件的问题
解决安卓收起键盘无法触发失焦事件的问题
1170 0
鼠标滚轮消息的捕捉
鼠标滚轮消息的捕捉
686 0