Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 C# 在 Windows Forms 2.0 中使用 Microsoft.NET 文本框来获取来自基于 USB 的条形码扫描仪的数据。用户不希望文本框接受来自键盘的输入。如何应用过滤器,以便在此会话期间仅接受来自 USB 的输入并禁用键盘?
谢谢。
一小时后添加评论:我得到了一些关于这个和这个我需要学习的东西。
对于那些想知道为什么会出现这种冗余的人,用户还需要一个选项来将键盘配置为活动/非活动。
你不能。条形码扫描仪是一个键盘(某种)。它以与键盘完全相同的方式输入文本字符。
我想一种选择是断开物理键盘。除此之外,您可以“尝试”根据硬件序列号阻止输入。但是这样做的问题是a)它不可扩展,并且b)如果您的扫描仪死了,您必须对您的软件进行监控。
还要记住,条形码只是人类可读字符的行表示。这样,如果您的扫描仪无法读取它们,您可以手动输入条形码下方的小数字。
我会回击并告诉老板这是一个坏主意(当然取决于请求的上下文)。