在C#中限制对特定设备的输入

我有两个设备(KeyBoard和BarCodeScanner)和2个文本框(文本框1和文本框2).

现在我想限制用户他只能在文本框1中使用键盘,在文本框2中使用条形码扫描器.

这怎么可能在C#中?

解决方法:

你应该看一下:Read data from Bar Code Scanner in .net (C#) windows application!

因此,您的扫描仪可能会发送特殊字符以帮助您识别输入来自扫描仪,或者它可能为您提供了一个可用于检测此类事件的附加库.
让我们假设扫描仪与键盘的行为完全相同,没有任何特殊字符,以帮助您知道它来自扫描仪,并且没有任何来自您可以使用的制造商网站的额外库.
然后你可以使用的是:测量第二个文本框的KeyDown事件中的打字速度.

我怀疑扫描仪会立即输入代码,因此您可以测量出巨大的打字速度.

然后,如果打字速度大于阈值(例如,人类世界速度记录大约每分钟1000个字符),则删除输入的文本.
这很hacky,但我没有更好的主意.

上一篇:c# – XAML TextBox isReadOnly Binding


下一篇:c# – 如何将“|”字符设置为textBox中的最后位置?