textbox 如何判断是手动输入还是扫描枪输入。。。
textbox 如何判断是手动输入还是扫描枪输入。。。
做了一个程序 需要刷卡的, 那个卡只可以用 扫描枪 读取卡号 的
但是 这个卡不需要密码,怎么去防止 收银员,去手动恶意输入 卡号盗取比人金额
我想 是否可以从输入的时间上判断??
怎么判断 textbox 不是人为通过键盘输入?
或者限制键盘输入 但是键盘输入限制了 扫描枪也打不进去了。。。。
===========================这样写不行啊 扫描枪也打不进去了
public void textbox_KeyPress(Object sender, ......)
{
if(e.KeyChar < 48)
{
e.Handled=true;
}
}
==========================这样写不行啊 扫描枪也打不进去了
各位高手指点下。
------解决方案--------------------如果是键盘输入,
你可以通过textbox1_keydown进行处理
------解决方案--------------------其实最简单的就是把文框设为只读。
为什么不采用这种方法呢?
------解决方案--------------------是的,你现在不就是通过代码读数。
读完后赋值给文本框。
文本框设为只读本身就只是针对用户不可以输入。
代码操作赋值是可以的。
------解决方案--------------------你把textbox设置为只读。用户就不可以手动输了,但是后台可以通过程序把读到的值赋值给文本框的。
------解决方案--------------------扫描枪就是模拟键盘输入,
------解决方案--------------------换成串口的扫描枪,
串口的枪需要写接口程序。
不同于键盘口的枪。
------解决方案--------------------什么样扫描枪,它没有用于开发的lib么?
我现在用的是Honeywell得handheld产品,带windows mobile系统还能扫描,它提供了开发库。自动扫描模式实际就是填充扫描条码到有焦点的文本框中。默认的是扫描同时会发出虚拟键盘事件,比如条码是abc123,它就会发出a,b,c,1,2,3 六个key事件还会有固定的扫描key事件。你还可以设置他不发虚拟键盘事件,这样如果扫描的话就会有固定的key事件,你检测如果是这个固定的key事件你就认为它是扫描的。还有它带有开发库,设置扫描不是自动填充,这种你可以在程序中接受到扫描事件,你来控制扫描到的文本该填充到那,这样你将文本框disable掉就行,从扫描事件里填充文本框文本,就是textbox1.text = ....
------解决方案--------------------判断输入的时间.
扫描枪几毫秒就能完成,手工一般情况是不可能那么快的
------解决方案--------------------必须 用小键盘输入,小键盘上 可以切换回键盘输入.
------解决方案--------------------之前用扫描程序都是直接赋值给文本框 的。。。。。。。。。。。。。。。。
LZ贴点你扫描枪怎么让文本框出现值的代码吧