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。怎么返回值不一样?
展开
 我来答
唯漠情
2008-09-03 · TA获得超过3383个赞
知道大有可为答主
回答量:5510
采纳率:62%
帮助的人:2479万
展开全部
keycode是用来区分你按了哪个键,keyascii用来区分你输入了哪个字符,

如:a和A是同一个键,他们的keycode是相同的,而ascii值是不同的。

键盘上方的1和右边小键盘的1,不是同一个键所以keycode不同,而

keyascii相同。

在你的程序中,你按下A时,同时激活KeyPress和KeyDown事件

分析一下不难看出,程序运行结果是合理的

你按的键盘上的这个键的keycode为65,而A的ascii值为65

a的ascii值为97

明白了么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式