Foxtable(狐表)用户栏目专家坐堂 → 文本框的焦点判断问题


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

主题:文本框的焦点判断问题

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


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
文本框的焦点判断问题  发帖心情 Post By:2016/4/14 18:33:00 [只看该作者]

我想在一个文本框的 ValueChanged 事件中实现 值有改变后 执行一些代码

If e.Sender.Focused Then
msgbox(1)
执行代码 ......

end if

就是想如果焦点在该文本框中时,值 改变才执行代码, 否则不执行代码

这样写为啥不起作用,无论怎么样 1 都不显示。
[此贴子已经被作者于2016/4/14 18:36:58编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/14 19:14:00 [只看该作者]

 你可以去编写 TextChanged 事件。

 回到顶部
帅哥哟,离线,有人找我吗?
凡夫俗子
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/6/21 15:21:00 [只看该作者]

ValueChanged 为何不支持 焦点判断呢
 放在TextChanged 事件中 是有执行
要在ValueChanged 事件中才满足要求

就是要实现在文本框中手工输入值才执行相关代码,如果是非焦点单元格下面的变化就不执行代码

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/21 15:25:00 [只看该作者]

在TextChanged事件也可以判断焦点是否在文本框里面啊。

 回到顶部
帅哥哟,离线,有人找我吗?
凡夫俗子
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/6/21 15:28:00 [只看该作者]

这个是可以判断不错,问题是里面的字符每变化一个就执行一次 太频繁了
[此贴子已经被作者于2016/6/21 15:34:54编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/21 15:31:00 [只看该作者]

 那你可以在Enter事件记录一下

 

vars("焦点") = True

 

 然后在ValueChanged事件,判断和把值改成false


 回到顶部
帅哥哟,离线,有人找我吗?
凡夫俗子
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/6/21 15:42:00 [只看该作者]

一个小的重要的基本功能判断需要在多处写代码,强烈要求官方优化一下程序

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/21 15:44:00 [只看该作者]

 汗,ValueChanged就是焦点离开时触发的。

 

 你自己的需求有问题没理由要求人家改事件啊


 回到顶部
帅哥哟,离线,有人找我吗?
凡夫俗子
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/6/21 15:50:00 [只看该作者]

以下是引用大红袍在2016/6/21 15:31:00的发言:

 那你可以在Enter事件记录一下

 

vars("焦点") = True

 

 然后在ValueChanged事件,判断和把值改成false


这样做有个问题不好处理:

操作可能是: 手动选择了该控件 Enter 执行了vars("焦点") = True 了,但用户没有任何操作就选择了其它的控件

这个时候通过代码修改了该控件的值 ,则ValueChanged判断为是 手工处理的了。

这就要再在另一个地方加代码了,在哪里加呢,在Leave中加是不行的,Leave事件发生在ValueChanged之前


另一种方法是在

TextChanged  事件中加代码

可以较好地解决,但理论上每录入一个字符就执行一次,貌似没更好的方法了





 回到顶部
帅哥哟,离线,有人找我吗?
凡夫俗子
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/6/21 15:51:00 [只看该作者]

以下是引用大红袍在2016/6/21 15:44:00的发言:

 汗,ValueChanged就是焦点离开时触发的。

 

 你自己的需求有问题没理由要求人家改事件啊

焦点离开时触发是触发了,但不分时机的触发


问题是这个事件不能判断 该控件是否是焦点单元格了



[此贴子已经被作者于2016/6/21 15:51:43编辑过]

 回到顶部
总数 11 1 2 下一页