一、键盘事件
1.1 详解VB提供三种键盘事件:KeyPress、KeyDown和KeyUp。
如果按下键盘上一个会产生ASCII码的字符键(字母键、数字键和符号键)时,就会触发keyPress事件;
如果按下键盘上的任意键,就会触发KeyDown事件;
如果释放键盘上的任意键,就会触发KeyUp事件。
如果用户按下一个KeyPress不能检测的键时,则触发KeyDown事件。
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键的状态。
例如
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