以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  老师您好,我想问个问题。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=124925)

--  作者:rxfmrqq
--  发布时间:2018/9/16 17:16:00
--  老师您好,我想问个问题。

If e.KeyCode = keys.enter Then
    e.Form.Controls("Button8").PerformClick()
    e.Cancel = True

end if

 

 老师您好,这是我  e.Form.Controls("textbox3")  的 keydown 代码

 

由于我是用 e.Form.Controls("textbox3") 。text 是用扫码枪 扫码输入, 扫码的时候 有的时候回输入 enter 键 有的时候不会。

 

同时 e.Form.Controls("Button8").PerformClick() 中有一串代码是  e.Form.Controls("textbox3")。text = “”

 

而我输入的数据 有两种格式  一个是 length = 8  另外一种是 length = 12

 

所以,如果将 e.Form.Controls("Button8").PerformClick() 写在 textchange 中的时候,会触发 length = 8  然后,剩下4个字符就会单独录一串,根本认不到 length = 12 的格式。

 

而将 e.Form.Controls("Button8").PerformClick() 写在 vaulechange  中的时候,因为没有离开e.Form.Controls("textbox3") ,又不会触发代码, 所以我该怎么办呢?

[此贴子已经被作者于2018/9/16 17:16:26编辑过]

--  作者:有点甜
--  发布时间:2018/9/16 17:47:00
--  
回车键是肯定有的,这个是扫描枪特有的。如果回车符没有,请初始化你扫描枪的设置。
--  作者:rxfmrqq
--  发布时间:2018/9/16 17:54:00
--  
以下是引用有点甜在2018/9/16 17:47:00的发言:
回车键是肯定有的,这个是扫描枪特有的。如果回车符没有,请初始化你扫描枪的设置。

老师, 在excel 或者 word 软件中输入 确实是有的,  但是如果有, 那么key。enter 无法触发  只能手动去敲 enter键是什么原因呢?

是因为  e.Cancel = True  么?

但是如果不用   e.Cancel = True  我该 怎么防止 焦点离开控件呢?


--  作者:有点甜
--  发布时间:2018/9/16 18:00:00
--  
以下是引用rxfmrqq在2018/9/16 17:54:00的发言:

老师, 在excel 或者 word 软件中输入 确实是有的,  但是如果有, 那么key。enter 无法触发  只能手动去敲 enter键是什么原因呢?

是因为  e.Cancel = True  么?

但是如果不用   e.Cancel = True  我该 怎么防止 焦点离开控件呢?

 

你新增一个窗口新增一个textbox控件,然后只在keydown事件写代码,看是否有问题。(为了测试是否你别的事件有代码影响)


--  作者:rxfmrqq
--  发布时间:2018/9/16 18:09:00
--  
以下是引用有点甜在2018/9/16 18:00:00的发言:

 

你新增一个窗口新增一个textbox控件,然后只在keydown事件写代码,看是否有问题。(为了测试是否你别的事件有代码影响)laos

老师,我已经试过了, 只在 keydown中写代码, 但是有的时候,可以触发 有的时候不能。 不知道什么问题。
--  作者:有点甜
--  发布时间:2018/9/16 19:20:00
--  
以下是引用rxfmrqq在2018/9/16 18:09:00的发言:

老师,我已经试过了, 只在 keydown中写代码, 但是有的时候,可以触发 有的时候不能。不知道什么问题。

 

不可能的事情,扫描枪是用enter或者ctrl+enter结束,或者某一个符号结束来标识输入完毕的。

 

你看你扫描枪的设置,初始化一下,然后设置一下用什么符号结束。