以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]禁止手动输入 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56846) |
-- 作者:l451826728 -- 发布时间:2014/9/13 15:30:00 -- [求助]禁止手动输入 当前输入框规则:
1.编码是16位字符,必须扫码输入或刷卡输入: 实现思路:手工输入必须在0.5秒之内输入所有16位字符,否则自行回删至0字符状态(刷卡或扫码不存在0.5秒还输入不了16位字符的问题) 2、当前输入框不允许使用粘贴输入 实现思路:禁用鼠标右键菜单,禁用Ctrl+C,禁用其他可实现复制粘贴的键盘命令,禁用拖拽输入 求高手写以上代码! |
-- 作者:Bin -- 发布时间:2014/9/13 15:48:00 -- 1.比较笨的方法就用计时器吧 2.表属性 允许黏贴 设置为False
|
-- 作者:l451826728 -- 发布时间:2014/9/13 18:32:00 -- 是要在录入窗口实现的,能否在事件代码里面解决? |
-- 作者:狐狸爸爸 -- 发布时间:2014/9/13 20:02:00 -- 可以用Static变量解决,在TextChanged事件设置代码,具体自行调整:
Static dt As date if e.senter.text > "" Andalso e.Senter.text.Length = 1 \'记录第一个字符输入时的时间 dt = Date.Now Elseif (Date.Now - dt).TotalSeconds > 0.5 如果超过0.5秒 if e.senter.text > "" Andalso e.Senter.text.Length < 5 Then \'内容少于5个字符 e.Sender.Value = "" \'清除内容 end if end if
|