VB里Form_KeyDown事件的疑问?谢谢!

PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode)'如果多了下面的事件For... Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Print Chr(KeyCode)

'如果多了下面的事件Form_KeyPress, 这里的Chr(KeyCode)就可准确地返回所按下字母的大小写 如果没有下面的事件,那么这里总是会返回大写字母,为什么啊!好烦...

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)

End Sub
展开
 我来答
网海1书生
科技发烧友

2009-12-11 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26225

向TA提问 私信TA
展开全部
这里的keycode和keyascii是两种不同的概念哦,keycode是键盘码,每个键对应一个固定的码,也就是说,A键,不管你是直接按,还是按了大写锁定键再按,或者按着Shift再按,keycode都是一个固定数值65(A)。而keyascii则是Ascii码,也就是通常意义上的字符,按下A键的时候,根据你键盘状态的不同,keyascii会返回65(A)或者97(a)。所以一般情况下,都是使用keypress事件来取得按盘字符,不要用keydown事件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式