小弟一个小程序用到扫描枪,扫描枪通过USB传输数据到PC,扫描数据后在有光标的地方他的扫描数据会显示,但在开发的程序里用户不想每次都手动点击到接收条码号的文本框,能不能像监控串口一样监控USB,有数据就处理,然后赋值到对应文本框呢?;另:祝 元旦快乐。

解决方案 »

  1.   

    基本上所有的扫描设备都可以设置起止的自定义内容,通常是通过拿设备扫几下设置手册实现。例如你的软件可以设置 Alt+A 为数量文本框的快捷键,操作人员按这个快捷键就能直接将输入焦点转移到数量录入文本框了。那么你设置你的扫描设备的前缀为这两个键键可以了。当然,你的应用程序也可以全局监视键盘,例如winform窗口等等都可以在窗口上的类似 key_preview 事件中监视键盘录入,那么你可以自动判断,当判断到A键录入同时ALT键处于压下状态时,就自动设置一个bool标志,在这个状态下只记录输入的键而并不返回给窗口里边的其它控件,然后同样判断到结束信号(例如ALT+B组合键)的时候将之前记录的输入字符一次性地想文本框Text属性赋值就行了,同时复位这个bool标志。这种方式更加快捷稳定。