Winform Text 禁止手动输入,只允许扫描枪录入

思路:判断键盘按下和抬起的时间间隔。

 dt1为键盘按下的时间

 上边方法实际操作失败,直插式扫码枪输入和键盘输入几乎一个道理,从本质上很难做区分,只有部分扫描枪可以用上述方法实现。那么有没有其他的办法可以区分呢?

既然判断按下和抬起的时间不行(不知道扫描枪怎么模拟键盘录入的),那就改成判断录入第一个字符和第二个字符的时间间隔。总之除了从时间入手外也没有其他的方法。

 

 

 我用抬起事件是因为要清空扫描框,但是如果用户在不抬起第二个键录入的情况下就可以,还是有漏洞。

 

还有只要将该文本框的ShortcutsEnabled属性改成False,就可以防止用户复制粘贴了。

posted @ 2023-04-03 10:36  十里晚风  阅读(1299)  评论(0)    收藏  举报