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

本文关键字:文本 输入 启用 Winforms 键盘 | 更新日期: 2023-09-27 17:49:59

场景是这样的;

我需要禁用文本框从用户通过键盘输入。但是文本框应该使用诸如条形码阅读器之类的设备来接受输入。我想拿一个计时器,并采取两次按键之间的时间跨度(尚不清楚)。但也许有一个属性或更智能的算法?

注。这是一个Windows窗体应用程序

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

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

你关于使用时间的想法是一个好主意,尽管我想做一些稍微不同的事情。我会在Form中添加Timer,并在TextBox中输入第一个字符时启动它。计时器应该设置为一个非常短的时间跨度,并且应该禁用自动重启。当计时器熄灭时,检查TextBox是否有有效的条形码,如果有,则处理它。

对于任何试图使用键盘的人来说,他们键入的文本就会消失,而条形码扫描器("键入"非常快)仍然可以工作。

也许你需要跟踪'keyboard press'事件?我不认为自动粘贴东西会触发'keyboard press'事件。