处理KeyDown消息。
Private Sub txtCtl_KeyDown(KeyCode As Integer, Shift As Integer)
  If Shift = 4 And KeyCode = vbKeyF4 Then        KeyCode = 0
End Sub

解决方案 »

  1.   

    只要这样:
    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    Shift = 0
    End Sub
    SHIFT、CTRL、ALT
    三个键都没用了!
      

  2.   


    shift+tab做什么用?
    tab键:
        在 _keydown(KeyCode As Integer, Shift As Integer)事件中
               KeyCode =9
               Shift=0
    alt键:
        在 _keydown(KeyCode As Integer, Shift As Integer)事件中
               KeyCode =18
               Shift=4
    但我不知道alt+tab如何屏蔽
      

  3.   

    to Nyquist:
      你说的不对,
      我怀疑alt+tab屏蔽不了 :(
      

  4.   

    搞了这么长时间....
    实验发现:系统在发送WM_KEYDOWN消息以前就把VK_TAB截取另加处理了,所以TEXTBOX的WM_KEYDOWN消息不包含VK_TAB,只有用VC是可以的,可以在PreTranslateMsg中处理,如果是VK_TAB,就返回。可以屏蔽TAB键,VB好像最高级别只能抓到WM_KEYDOWN,我就不知道怎么办了...其实可以把窗口上的所有Control的TABSTOP设成FALSE,然后再TXTBOX_KEYPRESS中处理
    if KeyAscii=9 then KeyAscii=0就行了.....
      

  5.   

    to nerk:
    你的方法好用,其它人好像还没进入正题。