我在Windows窗体上有一个文本框(使用visual studio 2008 - C#),它从连接到显示器的手持式扫描仪获取数据。当用户扫描条形码时,数据在文本框中输入并且就在那里。
我想要做的是以某种方式强制进入/返回键击而无需用户按任何东西。
这甚至可能吗?
答案 0 :(得分:4)
如果您可以正确配置扫描仪,则无需编程解决方案。
昂贵的扫描仪提供了一个API,允许您直接配置扫描仪和接收扫描事件。更便宜的扫描仪模拟键盘并将字符发送到具有焦点的窗口。
此类扫描仪几乎总是允许配置设置各种扫描参数,包括前缀和后缀字符。您应该能够按照制造商指定的程序将Enter
指定为后缀字符。
您还可以使用“怪异”前缀字符(例如§)来通知您的扫描表单,以便最终用户不必将焦点放在文本框上。您可以设置表单的KeyPreview属性以捕获表单级别的键盘事件,并以编程方式将焦点设置为文本框,或者在检测到Enter
字符之前开始捕获所有键。
可以通过设置DIP开关来配置某些扫描仪。可以通过扫描配置表中的特殊代码来配置其他代码。该程序因制造商和扫描仪的类型而异。
答案 1 :(得分:1)
在文本框更改时执行验证以确定扫描是否完成(可能会注册多个更改事件)。
完成后,您可以调用Enter键将导致调用的任何处理函数,或者如果您想要移动到另一行,则插入回车符+换行符。