vb关于keydown的问题
为什么我单独用PrivateSubForm_KeyPress(KeyAsciiAsInteger)PrintChr(KeyAscii)EndSub输入A结果是A而改成Pr...
为什么我单独用
Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)
End Sub
输入A结果是
A
而改成
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
a
之前的A变成了a?为什么?谢谢
还是不明白,两次都是chr(keyascii),输入都是A。怎么返回值不一样? 展开
Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)
End Sub
输入A结果是
A
而改成
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
a
之前的A变成了a?为什么?谢谢
还是不明白,两次都是chr(keyascii),输入都是A。怎么返回值不一样? 展开
1个回答
展开全部
keycode是用来区分你按了哪个键,keyascii用来区分你输入了哪个字符,
如:a和A是同一个键,他们的keycode是相同的,而ascii值是不同的。
键盘上方的1和右边小键盘的1,不是同一个键所以keycode不同,而
keyascii相同。
在你的程序中,你按下A时,同时激活KeyPress和KeyDown事件
分析一下不难看出,程序运行结果是合理的
你按的键盘上的这个键的keycode为65,而A的ascii值为65
a的ascii值为97
明白了么?
如:a和A是同一个键,他们的keycode是相同的,而ascii值是不同的。
键盘上方的1和右边小键盘的1,不是同一个键所以keycode不同,而
keyascii相同。
在你的程序中,你按下A时,同时激活KeyPress和KeyDown事件
分析一下不难看出,程序运行结果是合理的
你按的键盘上的这个键的keycode为65,而A的ascii值为65
a的ascii值为97
明白了么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询