窗体上有3个按钮,command1,command2,command3
在键盘上按“A”执行command1_click事件
在键盘上按“B”执行command2_click事件
在键盘上按“C”执行command3_click事件
怎么实现呢?谢谢

解决方案 »

  1.   

    Option Explicit
    '在本窗体中添加三个命令按钮:
    'Command1、Command2、Command3
    Private Sub Command1_Click()    MsgBox "我是Command1 !别乱点击。", 48, "CMD_A"End SubPrivate Sub Command2_Click()    MsgBox "我是Command2 !我没空!", 48, "CMD_B"End SubPrivate Sub Command3_Click()    MsgBox "我是Command3 !找我做啥?", 32, "CMD_C"End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)    If (KeyCode = 65) Then Command1_Click: Exit Sub
        If (KeyCode = 66) Then Command2_Click: Exit Sub
        If (KeyCode = 67) Then Command3_Click: Exit SubEnd SubPrivate Sub Form_Load()    Me.KeyPreview = TrueEnd Sub
      

  2.   

    谢谢chen8013和vansoft.
    其实我想做的是这样的:
    command1_click后焦点在text1上了(text1,text2,....是查询的条件),
    command2是“查询”按钮(如果数据库中有,会读取到MSFlexGrid),
    command3是"清空"按钮(对查询条件的文本框的清空)。
    这些都可以用鼠标点,现在想增加用键盘的操作。
    如chen8013的做法,按了“A”焦点在文本框里了,文本框里输入内容后再按“B”是能够执行command2_click的,但是文本框里也多输入了一个字母"B"。
    我用GetAsyncKeyState,也是这样的,会把这个热键也输入到文本框里
    怎么办呢?再帮帮忙,谢谢!
      

  3.   

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)    If (KeyCode = 65) Then Command1_Click: Exit Sub
        If (KeyCode = 66) Then
            Command2_Click
            KeyCode = 0: Exit Sub
        End If
        If (KeyCode = 67) Then Command3_Click: Exit SubEnd Sub