在Form中的Keydown事件写如下代码:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyF1 And Shift = 0 Then
    ohelp.ShowContext "WKFL.html"
  End If
End Sub主要就是要调出帮助文件。当关闭帮助后,end sub->form_keydown,没有去其他地方直接又响应一次keydown,再关闭帮助,就不再响应了这时怎么回事???我试图在后面加Doevents,没用,换sendkeys(vbkeyspace)以清除键盘缓存,还是没用有人遇到过这种问题么?怎么解决???今天必须解决的谢谢!!!!!!

解决方案 »

  1.   

    Up!
    有人知道么?
    告诉我吧
    我实在找不出招了
    也不知道该从哪里跟踪
    因为他直接响应过去了中间也不参与任何其他函数和过程
    无从考证为什么我这里还有类似的窗体也是F1掉帮助的可是就不像这个窗体似的实在是奇怪至极阿。
      

  2.   

    ohelp.ShowContext "WKFL.html"
    --------------------------------
    改成 MsgBox "1234" 看看还有没有问题
      

  3.   

    已经改过msgbox了,依然响应的是两次,报两次msg。
      

  4.   

    哦!还有这个Form里面有调用其他的Form,而且在这些Form中按F1也出帮助。暂时称其为subForm。
    经过我多次测试发现如下规律:1。在Form中按F1,keydown响应2次。(1楼的现象)
    2。在Form中调subForm,keydown只响应1次。关闭subForm后,在Form中,按F1,只响应一次。
    由于Form中含有Tab,subForm是在Tab里面调用的。如果Tab间转换一下(即刷新Tab),再按F1,keydown又响应了2次:(  )我只找到了现象,但是我无法通过现象看到本质55555
      

  5.   

    我单步执行了一楼已经说过了
    就是关闭帮助后,到end if-->end sub-->Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)没有任何其他步骤,重复响应keydown
      

  6.   

    Private Sub Form_KeyPress(KeyAscii As Integer)
        If KeyAscii = vbKeyF1 Then
        End If
    End Sub放到KeyPress事件里面去,你绕来绕去,没看懂你说什么,代码贴全一点
      

  7.   

    拜托!keypress不能拦截F1-F12等。
    代码nk行n个模块n个页n个类。怎么贴过来???
      

  8.   

    8过keyup我试验过一样响应两次
      

  9.   

    简单说就是:
    我要这样的结果:按F1响应keydown事件事件掉出一个html帮助页面,并可以关闭html,可以正常进行其他操作。
    实际结果这样的:按F1响应keydown事件事件掉出一个html帮助页面,并可以关闭html,然后又响应了keydown事件,掉出一个html帮助页面,再关闭html,可以正常进行其他操作。
      

  10.   

    我重新更新一下现象产生条件。上面说的太模糊不清。1。焦点在Form上,会产生该现象。
    2。焦点在Form中的TreeView控件中,则不会产生。
      

  11.   

    每个控件的keydown都写一下相关代码试试
      

  12.   

    已经解决了。在每个keydown里面,加一个keycode=0就ok了虽然依然响应,但是不会进入if了Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
      If KeyCode = vbKeyF1 And Shift = 0 Then
        ohelp.ShowContext "WKFL.html"    keycode=0  End If
    End Sub
      

  13.   

    哦,至于为什么会响应两次。还是不清楚。不过据同事说,似乎那个第三方控件Tab的问题。还是多谢大家的支持了,分数都给你们吧