场景是这样的;
我需要禁用文本框以通过键盘从用户那里获取输入。但是文本框应该使用条码阅读器等设备进行输入。我想拿着一个计时器并计算两次击键之间的时间跨度(尚不清楚)。但也许有一个属性或更智能的算法呢?
ps它是一个Windows窗体应用程序。
您说您需要支持任何通常模拟键盘的条形码阅读器,因此可能没有一种简单的方法可以以编程方式区分来自键盘的输入和条形码阅读器。
你关于使用时间的想法是一个很好的想法,尽管我会做一些稍微不同的事情。我会在第一个字符输入时添加一个Timer
并Form
启动它TextBox
。计时器应设置为非常短的时间跨度,并应禁用自动重启。当计时器关闭时,检查是否TextBox
有有效的条形码,如果有,则处理它。无论哪种方式,之后清除文本框。
然后,任何尝试使用键盘的人都会认为他们输入的文本只是消失了,而条形码扫描仪(“输入”速度非常快)仍然可以工作。
也许您需要跟踪“键盘按下”事件?我认为自动粘贴某些内容不会触发“键盘按下”事件。