【发布时间】:2012-03-19 20:52:17
【问题描述】:
我在表单上有一个组合框。单击特定标签应隐藏此组合框。问题是如果组合框有焦点,单击隐藏此组合框的按钮会出错。如何解决此运行时错误?
【问题讨论】:
标签: forms ms-access vba combobox ms-access-2007
我在表单上有一个组合框。单击特定标签应隐藏此组合框。问题是如果组合框有焦点,单击隐藏此组合框的按钮会出错。如何解决此运行时错误?
【问题讨论】:
标签: forms ms-access vba combobox ms-access-2007
移动焦点。如有必要,创建一个非常小的控件来接收焦点。
Me.SomeControlThatIsNotTheCombobox.SetFocus
回复评论
请注意,此标签与控件无关。
Private Sub Label1_Click()
Me.Text1.SetFocus
Me.Label1.Visible = False
End Sub
【讨论】:
我知道这是一篇旧帖子,但我最近遇到了一个类似的问题(这篇帖子出现在前 4 或 5 个结果中)。如果您尝试禁用的控件是子窗体上的第一个控件,请尝试将其选项卡索引设置为 1,而不是 0。一旦子窗体获得焦点,其上的第一个控件也会这样做。我试图在 Form_Open 事件期间设置它,这解决了它。
【讨论】:
与其将焦点设置到任何特定控件,如果表单上的控件发生更改,将来可能会导致维护问题,如果您模拟 Tab 的按键,那么焦点将移动到 Tab 顺序中的下一个对象。
SendKeys "{TAB}"
DoEvents
Me.Command4.Visible = False
注意 doevents 是允许处理 Tab 所必需的。
【讨论】: