Private Sub Text1_KeyDown(……)
Select case KeyCode
Case vbKeyF1
    Text1.Text="F1"
Case vbKeyF2
    Text1.Text="F2"
Case vbKeyF3
    Text1.Text="F3"
……
End SelectEnd Sub

解决方案 »

  1.   

    谢谢了,还有比这更好的方法吗?就像chr(65)=A这样,但chr(114)<>F3呀
      

  2.   

    Chr(114)=r
    功能键好象没有相应的Ascii码值吧,你这样试一试就知道了:
    Private Sub Form_KeyPress(KeyAscii As Integer)
        Debug.Print KeyAscii
        Debug.Print Chr(KeyAscii)
    End Sub
      

  3.   

    获取按键名的函数
    Public Function GetKeyName(KeyCode As Integer) As String
    Dim SpStr As String
    Dim ArrSp() As String
        Select Case KeyCode
            Case 0
                GetKeyName = "无"
            Case 8
                GetKeyName = "BACKSPACE"
            Case 9
                GetKeyName = "TAB"
            Case 12
                GetKeyName = "CLEAR"
            Case 13
                GetKeyName = "ENTER"
            Case 16 To 20
                SpStr = "Shift|Ctrl|Alt|Pause|Caps Lock"
                ArrSp = Split(SpStr, "|")
                GetKeyName = ArrSp(KeyCode - 16)
            Case 27
                GetKeyName = "Esc"
            Case 32 To 47
                SpStr = "空格|Page Up|Page Down|End|Home|左方向键|上方向键|右方向键|下方向键|SELECT|SNAPSHOT|EXECUTE|Print Screen|Insert|Delete|Help"
                ArrSp = Split(SpStr, "|")
                GetKeyName = ArrSp(KeyCode - 32)
            Case 48 To 57, 65 To 90         '0-9,A-Z
                GetKeyName = Chr(KeyCode)
            Case 92
                GetKeyName = "Win"
            Case 93
                GetKeyName = "Right Mouse Key"
            Case 96 To 105                  'NumPad0-9
                GetKeyName = "NumPad" & Chr(KeyCode - 48)
            Case 108
                GetKeyName = "NumPad Enter" 'NumPad Enter
            Case 106 To 111                 'NumPad *,+,Enter,-,.,/
                GetKeyName = "NumPad" & Mid("*+ -./", KeyCode - 105, 1)
            Case 112 To 127                 'F1-F16
                GetKeyName = "F" & KeyCode - 111
            Case 144
                GetKeyName = "Num Lock"
            Case 145
                GetKeyName = "Scroll Lock"
            Case 187
                GetKeyName = "="
            Case 189
                GetKeyName = "-"
            Case 192
                GetKeyName = "`"
            Case 220
                GetKeyName = "\"
            Case Else
                GetKeyName = "KeyCode:" & KeyCode
        End Select
    End Function