今天遇到一个问题,我的textBox(txt1)无论如何都得不到焦点
我尝试了以下函数
txt1.focus
txt1.select
txt1.selectall
me.ActiveControl = txt1
失败
查资料后又做了如下设置
把txt1的taborder设置成0,检查所有其他控件,并把他们的taborder改成大于0整数 失败
我猜测问题在和textBox平级的tabcontrol上,把tabcontrol的tabstop设置成false 失败
然后我怀疑是因为我把代码放在了form load事件里
于是把代码移动到 form VisibleChanged 事件里 失败
这时我在断点处发现,activecontrol已经正常,但是txt1.canfocus居然是false,而且也没有被选中,实在不知道form内部是如何实现的taborder了(难道是一层一层的递归?如果这样,岂不是顶层控件很难得到焦点?)。即使我把tabcontrol内部的控件(在其他form里)设置为0以上的taborder似乎也起不到作用
最后只好用了个近似hack的方法解决了。如果有哪位高手知道更好的方法,请不吝赐教,感激不尽
button1.Select()
' button1: taborder = 1
Me.Select(True,True) ' txt1: taborder = 0
成功 This code works!
Tang
09/03/27
原文链接:https://www.f2er.com/vb/263189.html