场景是这样的;
我需要禁用文本框以通过键盘接受用户的输入。但是文本框应该使用诸如条形码阅读器之类的设备进行输入。我想持有一个计时器并记录两次击键之间的时间跨度(尚不清楚)。但也许对此有一个属性或更智能的算法?
附注它是一个 Windows 窗体应用程序。
最佳答案
您说您需要支持通常模拟键盘的任何条形码阅读器,因此可能没有一种简单的方法以编程方式区分来自键盘和条形码阅读器的输入。
你关于使用时间的想法是好的,尽管我会做一些稍微不同的事情。我将向 Form
添加一个 Timer
并在第一个字符输入到 TextBox
时启动它。计时器应设置为非常短的时间跨度,并且应禁用自动重启。当计时器关闭时,检查 TextBox
是否有有效的条形码,如果有,则处理它。无论哪种方式,之后都要清除文本框。
对于任何试图使用键盘的人来说,他们键入的文本就会消失,而条形码扫描仪(“键入”速度非常快)仍然可以工作。
关于c# - Winforms 在文本框上禁用键盘输入但保持文本框启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49586133/