加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

当存在tabcontrol控件的时候如何让textbox获取焦点 How to let t

发布时间:2020-12-16 23:33:06 所属栏目:大数据 来源:网络整理
导读:今天遇到一个问题,我的textbox(txt1)无论如何都得不到焦点 我尝试了以下函数 txt1.focus txt1.select txt1.selectall me.ActiveControl = txt1 失败 查资料后又做了如下设置 把txt1的taborder设置成0,检查所有其他控件,并把他们的taborder改成大于0整

今天遇到一个问题,我的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读