Foxtable(狐表)用户栏目专家坐堂 → 为什么文本框不能重新获得输入焦点呢?


  共有4171人关注过本帖树形打印复制链接

主题:为什么文本框不能重新获得输入焦点呢?

帅哥哟,离线,有人找我吗?
逛逛
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2013/11/29 10:38:00 [显示全部帖子]

一个偷懒的方法

 

e.Form.Controls("TbFlushCard").Select()

 

改成:

 

e.Cancel = True

 

代码执行完后,撤销此次按键


 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2013/11/30 19:00:00 [显示全部帖子]

以下是引用zhsenchzhi在2013-11-30 8:03:00的发言:

多谢 楼上的两位耐心解答,通过测试, 最后 还是使用

e.Cancel = True

  这种方式 解决问题了,

 

使用

e.Form.Controls("TbFlushCard"). BaseControl.SelectionLength = 1  代表选中文本的长度
e.Form.Controls("TbFlushCard"). BaseControl.SelectionStart = 0       '代表光标的位置
e.Form.Controls("TbFlushCard").Select()

不知为什么,总是不行

因为回车键、F1键等都是常用键,很多程序都有事件处理程序写在里面

e.Cancel = True    其实是告诉系统,你已经处理完本次事件了。

否则,系统处理完你的代码后,会接着处理后续的代码,像回车键就是将焦点转移到下个Tab序号的控件。

让你产生代码不起作用的错觉。

 

 


 回到顶部