Private Sub Form_keydown(keycode As Integer, shift As Integer)
Print Chr(keycode)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)
End Sub
为什么输出结果为 A
a
这里应该都是ascii码啊 小写和大写是怎么区别的啊
Private Sub Form_keydown(keycode As Integer, shift As Integer)
Print Chr(keycode)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)
End Sub
为什么输出结果为 A
a
这里应该都是ascii码啊 小写和大写是怎么区别的啊
keypress 返回的是输入的字符的ASCII码,也就是KeyAscii (如你按下了键盘上的字母A键,你的电脑的字母没转换成大写的话,它的ASCII码是97,就是小写的a)
而keyDown返回的是键盘码,
当然,你把字母大写键打开,这里你再按A键,就是A A 了
keycode 是 键盘的扫描码,以键的位置为准,而不是你按了哪个字母,你按大写A 和小写a ,
keycode 是一样的,因为它们在同一个位置,但KeyAscii 就不一样了,以你按了哪个字符为准。
在VB中,碰到keycode 时,一律用这个键的大写字母的KeyAscii 来表示keycode。
所以,输出:
A
a