看你知道不知道-文本框的SetFocus报错

很多时候需要像文本框上打焦点,但是很多时候在窗体的Load事件里边调用必然出错,这个我们可以避免,但是如果有些时候我们避免比了,比如调用Combox的ListIndex属性,就要触发Click事件,很多时候我们在这个事件里边就要做一些焦点设置的都事情了。

所有由于Load事件波及的combox的Click事件,造成了TextBox的SetFocus有时候错,而有些时候正常,如何解决这个问题呢。

解决办法如下:

将oText.SetFouce方法包装一下为下边的代码

'设置文本框的焦点
Public Sub TextBoxSetFocus(oText As TextBox)
    If oText.Visible Then oText.SetFocus
End Sub

以后在调用的时候使用这个函数就可以了。

原理很简单,应为在如果产生错误原因就是在Load事件里边触发SetFocus的时候,TextBox还是不可见的,所以在调用SetFocus的时候,处理一下TextBox的可见性就可以了。
原文地址:https://www.cnblogs.com/Duiker/p/385378.html