按下和松开一个ANSI键是将发生KeyPress事件,该事件可用于窗体、复选框、组合框、列表框、命令按钮、图片框和文本框等大多数控件。当一个控件或窗体具有焦点时,该控件或窗体将接受从键盘上输入的信息
keyPress事件过程的一般格式为:
private sub 对象名_keypress(keyascii as integer)
……
end sub
keyascii可以识别按键ASCII码,例如按下“A”键,keyascii的值为65,而按下“a”时,其值为97
例题:
利用keypress事件可以过滤键盘的输入、识别用户是否按下特定的箭、实现大小写的转换。
代码:
private sub text1_keypress(keyascii as integer)
keyascii=asc(ucase(chr(keyascii)))
if keyascii=13 then
command1.setfocus
end if
end sub
ascii=13是按下enter键是的值,如果keyascii=0,则会封锁键盘
代码如下:
Visual Basic code
Private Sub GcTextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles GcTextBox2.KeyPress
'单独判断回车
Dim a As Char = Convert.ToChar(Keys.Enter)
If e.KeyChar.Equals(a) Then
MessageBox.Show("Enter Press")
End If
'判断CTRL+回车
If (Control.ModifierKeys And Keys.Shift) = Keys.Shift Then
Dim aa As Char = Convert.ToChar(Keys.Return)
If e.KeyChar = aa Then
MessageBox.Show("Control+Enter Press")
End If
End If
End Sub
你的那个按键可以用vb的子集vbs实现 vbs不用vb编辑。打开一个记事本,保存为vbs格式,双击即可。vb的语法和vbs基本一致,不过vbs没有控件。如果需要循环,加上去就可以。代码如下;
set wshell=createobject("wscript.shell")
wshell.sendkeys"xxx"
xxx是你要的按键,不是ascii码
特殊按键如enter则是{enter}
是