Winforms禁用文本框上的键盘输入但保持启用文本框

时间:2012-12-31 08:04:16

标签: c# .net winforms

情景就是这样;

我需要禁用文本框以通过键盘 获取输入。但是文本框应该使用像条形码阅读器这样的设备来获取输入。我想要持有一个计时器,并在两个击键之间花费时间(尚不清楚)。但也许有一个属性或更聪明的算法呢?

P.S。它是一个Windows窗体应用程序。

2 个答案:

答案 0 :(得分:4)

你说你需要支持任何通常模拟键盘的条形码阅读器,因此可能没有一种简单的方法来以编程方式区分键盘输入和条形码阅读器。

你对使用计时的想法很好,虽然我的做法略有不同。我将Timer添加到Form,并在第一个字符输入TextBox时启动它。计时器应设置为非常短的时间跨度,并应禁用自动重启。当计时器关闭时,检查TextBox是否有有效条形码,如果有,则检查它是否有效。无论哪种方式,之后都要清除文本框。

然后,任何试图使用键盘的人都会看到他们输入的文字会消失,而条形码扫描器(“非常快速地输入”)仍可以使用。

答案 1 :(得分:0)

也许您需要跟踪'键盘按键'事件? 我不认为自动粘贴的东西会触发“键盘按下”事件。