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

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

一、键盘事件

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

相关文章
|
JavaScript 前端开发 数据安全/隐私保护
鼠标事件、键盘事件,你听过嘛?
鼠标事件、键盘事件,你听过嘛?
177 0
鼠标事件、键盘事件,你听过嘛?
C#(二十八)之C#鼠标事件、键盘事件
鼠标事件分为两种:EventArgs、MouseEventArgs。 键盘事件:KeyEventArgs、KeyPressEventArgs、KeyPress、KeyDown、KeyUp。
466 0
C#(二十八)之C#鼠标事件、键盘事件
|
Windows
50、键盘事件
键盘事件由用户击打键盘触发,主要有keydown、keypress、keyup三个事件,它们都继承了KeyboardEvent接口。
241 0
|
C# Windows
触摸屏:屏幕键盘(虚拟键盘)解决方案
原文:触摸屏:屏幕键盘(虚拟键盘)解决方案  最近需要在win XP系统的工控机上进行程序的开发,工控机是电阻式触摸屏,需要在上面使用触摸键盘,使工控机可以脱离鼠标和键盘独立运行程序。调研后得到一系列的解决方案,mark如下: (1)自己在程序中开发虚拟键盘 这个是最先想到的,本人用C#进行开发,所以只关注C#相关的虚拟键盘开发。
2577 0
winform获得键盘输入的按键
获得键盘输入的按键 1 首先 KeyPreview = true;这是前提 举例子 MedicineUse是主窗体 cmbDoctor是combox2控件获得焦点 2 private void Medicin...
964 0