如何测试特定控件是否具有焦点?

时间:2013-12-04 10:54:48

标签: vba ms-access ms-access-2007 access-vba

我有访问2007表单,我想测试特定控件(切换按钮)是否具有焦点,

类似的东西:

if gotfocus(mytoggle) then
dosomething
endif

或者可能喜欢:

if me.mytoggle.setfocus = true then
dosomething
endif

我已经搜索过,找不到这个,有人可以告诉我这是做什么的正确吗?

2 个答案:

答案 0 :(得分:6)

这是目前的形式:

If (mytoggle Is Me.ActiveControl) Then

这适用于当前的Access.Application:

If (mytoggle Is Screen.ActiveControl) Then

注意,如果没有控件有焦点,* .ActiveControl可能不存在。

答案 1 :(得分:0)

不幸的是,在某些情况下.ActiveControl是 临时 不存在的!当记录以表单滚动时,将运行过程Form_Current()。刚开始时就没有焦点了–仅在 Form_Current()终止后之后,焦点才会重置为上一个字段。