以文本方式查看主题

-  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=106247)

--  作者:wgqcool
--  发布时间:2017/9/5 13:40:00
--  [求助]

希望在“条形码”列中按回车键自动在该单元格里面换行而不是切换到下一列,于是在keydownedit中写下代码:

If e.Col.Name = "条形码" AndAlso e.KeyCode = 13 Then
    sendkeys.Send(Chr(10))
    e.cancel = True
End If

可是执行却出现类似死循环,就是一直在该单元格里面换行!为什么呢!?

[此贴子已经被作者于2017/9/5 13:41:11编辑过]

--  作者:有点甜
--  发布时间:2017/9/5 14:08:00
--  

方法一:

 

http://www.foxtable.com/webhelp/scr/0134.htm

 

方法二:

 

If e.Col.Name = "条形码" AndAlso e.KeyCode = 13 Then
    Sendkeys.Send("{down}")
    e.cancel = True
End If


--  作者:wgqcool
--  发布时间:2017/9/5 14:33:00
--  
老师理解错意思了!并不是想让焦点移动到下一个单元格,而是在同一个单元格里面换行!如图:
图片点击可在新窗口打开查看此主题相关图片如下:tip3.jpg
图片点击可在新窗口打开查看

--  作者:wgqcool
--  发布时间:2017/9/5 14:36:00
--  

我把keydownedit的sendkeys指令取消,在keypressedit上加了下面的代码好像可以了!

If e.Col.Name = "条形码" AndAlso e.Keychar = chr(13) Then
    sendkeys.Send(Chr(10))
End If


--  作者:有点甜
--  发布时间:2017/9/5 14:40:00
--  

改代码

 

If e.Col.Name = "条形码" AndAlso e.KeyCode = 13 AndAlso e.Control = False Then
    Sendkeys.Send("^{Enter}")
    e.cancel = True
End If


--  作者:wgqcool
--  发布时间:2017/9/5 15:06:00
--  
测试可以!~谢谢老师!图片点击可在新窗口打开查看