我在subForms
上有两个mainForm
。 subForm1
包含ComboBox1
,我已插入以下代码,以便如果我按Tab
键,它将setFocus
到subForm2
。
Private Sub ComboBox1_KeyDown(KeyCode as Integer, Shift as Integer)
Select Case KeyCode
Case = vbKeyTab
KeyCode = 0
Me.parent.subForm2.SetFocus
End Select
End Sub
它工作正常。但是,当我按下Shift + Tab
时,我仍然会得到与上面代码相同的行为。在没有上述代码的情况下,当我按下Shift + Tab
时,focus
会自动设置为control
中的前一个subForm1
,并且不会移动到subForm2
。有人可以帮助我如何在上面的代码中使用Shift + Tab
的组合,以便它不会将焦点移动到subForm2
而是保持默认行为?
最后,我解决了逻辑。我必须首先检查Shift
是否被按下,所以我在代码之前包含了NOT
条件。现在,我的代码仅在未按下Shift
时起作用,否则保留默认的Access行为。
Private Sub ComboBox1_KeyDown(KeyCode as Integer, Shift as Integer)
If NOT (Shift AND acShiftMask)>0 then
Select Case KeyCode
Case = vbKeyTab
KeyCode = 0
Me.parent.subForm2.SetFocus
End Select
End if
End Sub