用定时器限定了时间,到时间后设定一个变量为start=1
Private Sub form_KeyPress(keyAscii As Integer)
    If start=1 then
        If keyAscii = vbKeyF Then
            response = 1              
        ElseIf keyAscii = vbKeyJ Then
            response = 2
        Else
            response = 0
        End If
    end if
end sub这样只能对一次按键起反应,而且提前按键的话没法排除能不能用vb对多次按键起反应,而且还是限定条件、时间下的按键

解决方案 »

  1.   

    我说的不清楚吗?
    就是我没法用keypress接受两次不同时间的按键反应
    vb还有什么办法可以处理按键吗
      

  2.   

    keypress不能接受不同时间的反应?不清楚遇到的是什么情况,
    是按了一次,第二次就不触发事件了吗?
    可用keydown和keyup处理按键,楼主试试
      

  3.   

    我是要取两次按键反应
    第二次与第一次中间有其他的操作,进行完之后,然后才能接受第二次按键,
    结果是第一次按键后程序就停住了,是不是没法从keypress事件中先跳出来?
    但是貌似一个窗体不能写两个Private Sub form_KeyPress(keyAscii As Integer)强人教教我怎么做
      

  4.   

    结果是第一次按键后程序就停住了,是不是没法从keypress事件中先跳出来?每次执行都到end sub结束。
    你keypress在哪调用的?
    键盘输入?
    看你定时器似乎是控制某个时间键盘输入有效,那可以在设一个变量判断是否可以接收第二次按键了
      

  5.   

    不能,每次按键都会触发keypress事件的