在我的表单上,我有一个编辑控件。我已经设置了KeyDown
事件以检测用户何时按 ,但我还想检测 shift + space 以便用户可以清除内容盒子。
功能有效 - 我可以检测到按键。问题是空间没有被吸收,因此空间字形仍然在控件中输入。
当我按 shift + space 时,如何吸收按键?
Private Sub FindBox_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyEnter: SearchForIt
Case vbKeySpace:
If Shift = 1 Then
FindBox.Text = ""
'here absorb keypress instead of sending space to control
Exit Sub
End If
End Select
End Sub
答案 0 :(得分:1)
你只需要设置KeyCode = 0的值即可。"吞下"关键,没有任何事情发生。
您还希望使用位掩码来查找是否存在正在按下的移位
Dim intShiftDown As Integer
intShiftDown = (Shift And acShiftMask) > 0
Case vbKeySpace:
If intShiftDown Then
FindBox.Text = ""
'here absorb keypress instead of sending space to control
KeyCode = 0
Exit Sub
答案 1 :(得分:0)
哦,我明白了。 这很简单。
'here absorb keypress instead of sending space to control
KeyCode = 0