KeyCode和KeyAscii?

把窗体的KeyPreview属性设置为True,并编写如下两个事件过程:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Print KeyCode;
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
Print KeyAscii
End Sub
程序运行后,如果按下A键,则在窗体上输出的数值为______和______。
答案是65和97
请问为什么第二个空是97呢?谢谢!

第1个回答  2006-09-09
Keycode 常数
可在代码中的任何地方用下列常数代替实际值
A 至 Z 键与 A – Z 字母的 ASCII 码相同:
常数 值 描述
vbKeyA 65 A 键
vbKeyB 66 B 键
vbKeyC 67 C 键
......
vbKeyX 88 X 键
vbKeyY 89 Y 键
vbKeyZ 90 Z 键

0 至 9 键与数字 0 – 9 的 ASCII 码相同

下列常数代表数字键盘上的键:

常数 值 描述
vbKeyNumpad0 0x60 0 键
vbKeyNumpad1 0x61 1 键
vbKeyNumpad2 0x62 2 键
vbKeyNumpad3 0x63 3 键
vbKeyNumpad4 0x64 4 键
vbKeyNumpad5 0x65 5 键
vbKeyNumpad6 0x66 6 键
vbKeyNumpad7 0x67 7 键
vbKeyNumpad8 0x68 8 键
vbKeyNumpad9 0x69 9 键
vbKeyMultiply 0x6A MULTIPLICATION SIGN (*) 键
vbKeyAdd 0x6B PLUS SIGN (+) 键
vbKeySeparator 0x6C ENTER 键
vbKeySubtract 0x6D MINUS SIGN (–) 键
vbKeyDecimal 0x6E DECIMAL POINT (.) 键
vbKeyDivide 0x6F DIVISION SIGN (/) 键

KeyAscii表示按下键的ASCII值.
第2个回答  2006-09-09
我也刚发现
KeyDown事件对字母是默认SHIFT状态的
挺奇怪的
65是大写
97是小写本回答被提问者采纳
相似回答