ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: imdouba

[求助] 文本框输入内容并回车后,选中该文本框内容,不要跳转到其他地方。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-3-31 12:28 来自手机 | 显示全部楼层
imdouba 发表于 2024-3-31 11:07
直接清空了也可以的,只是如果是出错等情况,选中状态方便再看一眼错在哪里。

可以显示在下面的一个标签里啊,扫码咋会错?

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-31 16:20 | 显示全部楼层
zpy2 发表于 2024-3-31 12:28
可以显示在下面的一个标签里啊,扫码咋会错?

扫码出错的情况还是有的,有时是13位的邮件号少了末尾2位,有时是因为退运邮件出现2个单号,扫了作废的那个。这也是对这些邮件进行核销的目的所在。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-31 19:33 | 显示全部楼层
prome3 发表于 2024-3-30 18:55
扫码枪的设计一般都这样的,模拟用户点击键盘,最后发送回车或者制表符。条形码扫完后,如果要让文本框保留 ...

很奇怪,如果鼠标点其他地方可以拦截到exit,但回车的话,又跳转到其他地方了。

换成exit事件.zip

47 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2024-3-31 22:18 | 显示全部楼层
imdouba 发表于 2024-3-31 19:33
很奇怪,如果鼠标点其他地方可以拦截到exit,但回车的话,又跳转到其他地方了。

这是18年前微软官方已经确认的一个BUG。主要原因在于,(在这个例子中)触发的是 Frame 的 Exit 事件,而不是文本框的。你可以试一下。

解决方法有好几种。
其中一种是在 TxtPostNb 这个文本框下方再放一个文本框。注意这两个文本框必须都在同一个 Frame 内,而且 Tapstop 属性必须都是 True。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-31 22:59 | 显示全部楼层
prome3 发表于 2024-3-31 22:18
这是18年前微软官方已经确认的一个BUG。主要原因在于,(在这个例子中)触发的是 Frame 的 Exit 事件,而 ...

原来如此,谢谢。我刚才尝试把所有影响因素(包括frame)都删除掉了,就保留了两个文本框,结果回车事件还是会跳转到其他,最诡异的是同样的代码在“测试重新获得焦点”这个文件里就可以正常运行了,哪怕再加上frame也正常。我忘记第二个文件是不是后来用wps建立的了,如果是的话那纯粹就是office的锅了。现在准备在测试重新获得焦点这个文件里重新画一个窗体,然后把原来的代码放进去试试看。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-31 23:33 | 显示全部楼层
prome3 发表于 2024-3-31 22:18
这是18年前微软官方已经确认的一个BUG。主要原因在于,(在这个例子中)触发的是 Frame 的 Exit 事件,而 ...

非常感谢大佬的启发。这次我一个控件一个控件的加,发现button的优先级更高,在都打开tabstop的情况下,无论两者tabindex设置多少,都会优先跳button,关闭button的tabstop后正常;加Option也是这样,Label没影响;最隐蔽的就是frame了,居然默认tabstop是true,当多个frame时出现不跳转,把多余的frame关闭tabstop后正常。在最初的文件基础上进行修改,关掉了“基础数据”和“邮件信息”两个frame的tabstop,邮件单号成功获取到焦点并选中内容,至此困扰我3天的问题终于得到了解决。
感谢各位大佬的帮助!

TA的精华主题

TA的得分主题

发表于 2024-4-5 11:11 | 显示全部楼层
imdouba 发表于 2024-3-31 23:33
非常感谢大佬的启发。这次我一个控件一个控件的加,发现button的优先级更高,在都打开tabstop的情况下, ...

要达到本帖的最终目的,一个更好的解决方案是先把 Frame 控件的 Cycle 属性设置为 fmCycleCurrentForm,再正常截取 TextBox 的 Exit 消息即可。

其它的啥也不用做。无需把其它控件的 Tabstop 改为 False ,最好保留它们原先的默认值和默认行为。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-3 23:48 , Processed in 0.038038 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表