KeyAscii是字符的内码Keycode是VB的按键标记(不是扫描码、更不是虚拟键码)

解决方案 »

  1.   

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
        Print KeyCode
    End SubPrivate Sub Form_KeyPress(KeyAscii As Integer)
        Print KeyAscii
    End Sub用以上代码看看就可以了!
      

  2.   

    Keycode不分大小写,它只记录下按键的位置。
    而Keyascii则有区分大小写。
    而且,有一些按键Keyascii不能检测,只有Keycode才可以。
      

  3.   

    KeyAscii只能接受简单的ANSI码,而Keycode接受按键的扩展码,包括功能键和其他的命名键,以及Shift,Alt和Ctrl键的状态。
      

  4.   

    楼上的都错了!Keycode既不是 按键的位置,也不是扩展码只是VB对按键的一种标记与那些标准键盘按键数据名词无关!
      

  5.   

    不信的话
    看MSDN:keycode 是一个键代码,诸如 vbKeyF1 ( F1 键)或 vbKeyHome ( HOME 键)。要指定键代码,可使用对象浏览器中的 Visual Basic ( VB ) 对象库中的常数。 keyascii 是返回一个标准数字 ANSI 键代码的整数。Keyascii 通过引用传递,对它进行改变可给对象发送一个不同的字符。将 keyascii 改变为 0 时可取消击键,这样一来对象便接收不到字符。