程序中有个页面生成条码打印出来,然后通过扫描枪将条码扫描出来,输入到另一个页面的文本框中,进行查询数据。但问题是,扫描枪只要有光标定到可输入的文本框中就会将数据输入到那个文本框中,我想要的是,只要有条码经过扫描枪扫描过我就会自动跳到指定的页面然后在指定的文本框中输入扫描出来的数据。进行查询。
就是我想要扫描枪中的数据,虽然现在可以获取到,但是只要页面有可输入的文本框或者其他的什么,只要有光标定在那里,扫描枪就会将扫描的数据输入到有光标的文本框中。
我想要的是 只要有扫描枪扫描,我就将扫描的数据直接放到指定页面上的指定文本框中。
扫描枪应该是发的键盘消息吧,拦截下键盘消息试试
持扫描器的人不扫,它怎么输入?
它扫了一个条码,难道是要重复成千上万次地去输入?那么到底是扫了一个条码还是一万个(同样的)条码?
设计一个程序,连先后依赖关系都不懂(不懂得依赖倒置的道理),那么做出的需求描述往往跟编程完全对接不上。
SerialPort类,希望可以帮到你
条形码扫描抢是输入键盘事件,你可以把它看作一个键盘。
那么问题就变成了你在一个界面上要知道获取键盘IO的输入,你该怎么做?
你的程序进入了扫描环节,那么在这个界面上一定只有输入框能够获取到焦点。这样就不存在你的问题了。
貌似实现不了,不过可以换个折中的思路,在当前页面中有个默认的回车会触发的按钮,在这个按钮中判断指定的接收扫描或输入条码的文本框是否有内容,如果有则打开新页面并传入条码,并在新页面中根据参数中的条码检索数据,平时接收条码都是在当前的页面中
楼主这个问题,有一种解决方法,
你需要更改条码枪规则,操作方法请看条码枪的说明书(有一本小册子上记录了许多配置条码)
原理: 条码枪每次扫描前让它加上一个前缀字符,你在程序中过滤键盘消息专门拦截这个字符,然后跳到你指定的页面。将拦到的字符串放到textbox中.