【转】C#中判断扫描枪输入与键盘输入

提出问题:在收货系统中,常常要用到扫描枪扫描条码输入到TextBox,当条码无法扫描时,需要手工输入。如果是扫描枪输入时,我们将自动去判读条码,而手工输入时,最终需要加按回车键确认后判读条码。这时候我们就要判断输入设备是手工还是扫描枪。尝试的方法:

1.将TextBox属性设为ReadOnly=true。结果:无法输入。

2.在TextBox的KeyPress事件中设置属性e.handle=true。结果:扫描枪输入时也会触发KeyPress事件,因此也不能输入。

3.在TextBox的ValueChanged事件中判断结果。结果:扫描枪也是一个一个字符输入,不是一次性将整个条码输入。

思考:扫描枪其实在输入上与键盘完全相似。但是人工输入和扫描设备输入的区别在于,扫描设备输入速度比较快而且时间间隔比较平均。

实验:

实验结果证明开始的推断。

解决方法:

Private DateTime _dt = DateTime.Now; //定义一个成员函数用于保存每次的时间点

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

DateTime tempDt = DateTime.Now; //保存按键按下时刻的时间点

TimeSpan ts = tempDt .Subtract(_dt); //获取时间间隔

if (ts.Milliseconds > 50) //判断时间间隔,如果时间间隔大于50毫秒,则将TextBox清空

textBox1.Text = "";

dt = tempDt ;

}

至此, 问题解决,希望大家有更好的方法留言交流

转:http://www.cnblogs.com/yyknight/archive/2011/10/07/2200399.html

时间: 2024-10-31 06:03:03

【转】C#中判断扫描枪输入与键盘输入的相关文章

WinForm中TextBox 中判断扫描枪输入与键盘输入

本文转载:http://www.cnblogs.com/Hdsome/archive/2011/10/28/2227712.html 提出问题:在收货系统中,常常要用到扫描枪扫描条码输入到TextBox,当条码无法扫描时,需要手工输入.如果是扫描枪输入时,我们将自动去判读条码,而手工输入时,最终需要加按回车键确认后判读条码.这时候我们就要判断输入设备是手工还是扫描枪. 尝试的方法: 1.将TextBox属性设为ReadOnly=true.结果:无法输入. 2.在TextBox的KeyPress事

web中使用扫描枪

扫描枪实际上就是一输入设备,只不过它每次在输入的内容后面添加一个回车.因此在web中可以使用js监听回车事件.处理代码如下: jQuery(function() {        jQuery(document).on('keydown','.card_number', function(e){ e = e||event;        var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;         if

Scanner 输入---从键盘输入两个数进行相加

1 import java.util.Scanner;//scanner 是包含在Java.util中的:使用的时候需要调用 2 3 /** 4 * 测试Scanner类的使用.如何接受键盘的输入 5 * @author ZBG34854 6 * 7 */ 8 public class TestScanner { 9 public static void test01(){ 10 Scanner s = new Scanner(System.in); 11 String str = s.next

Python中判断是否为闰年,求输入日期是该年第几天

#coding = utf-8 def getLastDay(): y = int(input("Please input year :")) m = int(input("please input month :")) d = int(input("Please input day :")) s=0 if y <1: y=1 if m <1: m=1 if m>12: m=12 if d <1: d=1 mothday=

Android高仿微信表情输入与键盘输入(详细实现分析)

转载请注明出处(请尊重原创!谢谢~): http://blog.csdn.net/javazejian/article/details/52126391 出自[zejian的博客] ??表情与键盘的切换输入大部分IM都会需要到,之前自己实现了一个,还是存在些缺陷,比如说键盘与表情切换时出现跳闪问题,这个困扰了我些时间,不过所幸在Github(其代码整体结构很不错)并且在论坛上找些解决思路,再加上研究了好几个开源项目的代码,最后终于苦逼地整合出比较不错的实现效果(这里不仅给出了实现方案,还提供一个

获取键盘输入或者USB扫描枪数据

/// <summary> /// 获取键盘输入或者USB扫描枪数据 可以是没有焦点 应为使用的是全局钩子 /// USB扫描枪 是模拟键盘按下 /// 这里主要处理扫描枪的值,手动输入的值不太好处理 /// </summary> public class BardCodeHooK { public delegate void BardCodeDeletegate(BarCodes barCode); public event BardCodeDeletegate BarCodeE

抓取扫描枪扫描数据的案例

背景: 最近要做一个抓取扫描枪扫描条形码获取条形码数据的功能,以前没有玩过扫描枪,但是因为做过很多其他方面的外设获取数据的项目,所以原理也明白,都是相当于键盘输入,所以相当的是通过获取键盘输入的方案实现,因为这个功能点是用于整个pc上所有扫描枪程序的数据的抓取,就是其他程序用扫描枪,我做的这个程序也能抓取到数据,并对数据进行相应的处理,至于数据处理那是后面自己所做的业务需求的处理了,和抓取扫描枪扫描数据无关了,所以可以通过全局键盘钩子抓取键盘的输入去实现,这样能够去获取每个键盘输入的值,想法有了

飞凌嵌入式FET1052-C解决方案 扫描枪方案

扫描枪是继键盘和鼠标之后的第三代主要的电脑输入设备.直接从图片.照片.胶片到各类图纸图形以及文稿资料都可以用扫描枪输入到计算机中,进而实现对这些图像信息的处理.管理.使用.存储或输出. 随着条形码技术的发展,扫描枪目前以广泛的应用到电力行业.交通运输业.物流行业.邮电通讯业.鞋服行业.行政执法等行业. 扫描枪构成: 常见的扫描枪一般由光源.光学透镜.扫描模组.模拟数字转换电路加塑料外壳构成. 扫描枪原理: 扫描枪通过打出的光源来扫描条码,通过条码的黑白条空所反射的光的巨大差别来识别条码,当扫描一

JAVA 20 键盘输入

字符流 FileReader FileWriter BufferedReader BufferedWriter OutputStreamWriter InputStreamReader 字节流 FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream 系统输入: InputStream in =System.in; OutputStream out = System.out; 读取转换流: 定义在字符流体系