我有一个非常令人沮丧的问题。基本上我在数据表视图中有一个包含3-4个子表单的mainForm。在选择记录并将其设置为mainForm上的控件后,从subForm中删除焦点的一般方法是什么?
我试过了: OnCurrent事件:
Me.Parent.Form.SetFocus
Me.Parent.[Control].SetFocus
它的工作时间是一半。但是,当用户通过单击subForm中的某个字段来选择记录时,问题就出现了。然后highlighted
字段是A)subForm中的字段,B)mainForm中的字段。看似随意决定。
在将新焦点设置到其他位置之前,如何完全取消/删除子窗体的焦点?
答案 0 :(得分:0)
那就是将焦点转移到父窗体上的控件:
const char*
答案 1 :(得分:0)
这个特殊问题的解决方法最终为我解决了这个问题,就是让subForm中的字段看起来像一个超链接(即用户可以"点击"就可以了。)
然后制作一个设置正确焦点的OnClick Event
,即:
Public Sub [Field]_Click()
On Error GoTo Goto_Err
'some other code
Me.Parent.[Control].SetFocus
Goto_Exit:
Exit Sub
Goto_Err:
MsgBox Error$
Resume Goto_Exit
End Sub
此解决方法并不理想,因为用户必须单击字段本身,而不是通过按向上/向下箭头移动到另一条记录。