所以我有条形码扫描仪和带有更改文本事件的文本框。我试图做的是,当用户扫描代码时,它进入文本框,之后我有代码执行一些SQL(它工作正常)。问题是,由于更改了文本事件,texbox只接受代码的第一个字符串而不是整个字符串。
我想拥有它,因为用户不需要按任何其他按钮来插入产品。 我试图捕获条形码,将其保存到字符串中,但这也不起作用。
到底有没有?
答案 0 :(得分:2)
您可以将条形码阅读器配置为"添加回车键"或"添加标签键"扫描条形码后。 然后你可以使用它如下。
private void txtBarcode_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
//Do Something
}
}
答案 1 :(得分:1)
大多数条形码扫描仪都能够将键序列添加到扫描数据的末尾。许多人只是简单地使用CRLF。你可以在文本框中的keypress事件上监听这个,然后使用它来运行你的SQL代码。
摩托罗拉扫描仪通常有一个快速入门指南,可以使用条形码进行扫描以进行设置。
答案 2 :(得分:1)
如果代码的长度始终相同,则可以检查文本更改事件的长度并推迟数据库操作,直到代码长度正确。
如果代码长度可变,那么您可能必须更聪明。
答案 3 :(得分:1)
我几年前也这样做过。 首先检查读者是否在实际条形码字符串后发送最终回车符。 通常与阅读器一起,您可以使用某些条形码来配置设备。
如果您对设备不满意,请使事件实现异步,并在运行SQL之前等待200ms。 如果等待时间引发了另一个事件,则更改用于搜索的字符串,或者只是中止旧事件并创建一个新事件。
这应该有效,因为条形码是一个键盘,可以高速(通常小于200毫秒)推动字符序列通过I / O.
我希望这会有所帮助。