我在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
上,而是保持默认行为?
答案 0 :(得分:0)
最后,我解决了逻辑。我必须首先检查是否按下了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