如何在VB中使用keypress

如题所述

按下和松开一个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,则会封锁键盘追问

可以模拟按键吗

追答

怎么模拟,能不能说具体一些

追问

模拟按某个键 keypress “1”,1像按键精灵里那样

追答

这不行的,这个只能接受键盘按了某个键后才能判断

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-11-26
  代码如下:
  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本回答被网友采纳
第2个回答  2022-08-23
你的那个按键可以用vb的子集vbs实现 vbs不用vb编辑。打开一个记事本,保存为vbs格式,双击即可。vb的语法和vbs基本一致,不过vbs没有控件。如果需要循环,加上去就可以。代码如下;
set wshell=createobject("wscript.shell")
wshell.sendkeys"xxx"
xxx是你要的按键,不是ascii码
特殊按键如enter则是{enter}
第3个回答  2011-08-24
追问

????????