我在表格上有一个组合框。单击特定标签应隐藏此组合框。问题是如果组合框有焦点,单击隐藏此组合框的按钮会产生错误。如何解决此运行时错误?
答案 0 :(得分:2)
移动焦点。如有必要,创建一个非常小的控件来接收焦点。
Me.SomeControlThatIsNotTheCombobox.SetFocus
重新评论
请注意,此标签与控件无关。
Private Sub Label1_Click()
Me.Text1.SetFocus
Me.Label1.Visible = False
End Sub
答案 1 :(得分:0)
而不是将焦点设置到任何特定控件,如果表单上的控件发生更改,将来可能会导致维护问题,如果您模拟按Tab键,则焦点将移动到Tab键顺序中的下一个对象。 / p>
SendKeys "{TAB}"
DoEvents
Me.Command4.Visible = False
请注意,必须使用doevents来处理Tab。
答案 2 :(得分:0)
我知道这是一个老帖子,但我最近刚遇到了类似的问题(这篇文章是在前4或5个结果中)。如果您尝试禁用的控件是子窗体中的第一个,请尝试将其选项卡索引设置为1,而不是0.一旦子窗体获得焦点,它的第一个控件也会这样做。我试图在Form_Open事件中设置它,这解决了它。