我有一个条形码扫描器和一个带有更改文本事件的文本框。我的目标是,当用户扫描代码时,它会进入文本框,然后我有一些执行SQL操作的代码(它可以正常工作)。问题在于,由于更改文本事件,文本框仅接受代码的第一个字符而不是整个字符串。
我想让它这样做,因为这样用户就不需要按任何额外的按钮来插入产品。我尝试捕获条形码,将其保存到字符串中,但那也不起作用。
有没有什么解决办法?
private void txtBarcode_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
//Do Something
}
}
如果代码的长度总是相同的,您可以在文本更改事件中检查长度,并推迟数据库操作直到代码长度正确。
如果代码长度不固定,则可能需要更聪明一些。
大多数条形码扫描器都可以在扫描数据的结尾添加一个按键序列。许多扫描器使用的是CRLF。您可以在文本框的keypress事件上监听此操作,然后使用它来运行SQL代码。
摩托罗拉扫描器通常有一个快速启动指南,其中包含用于设置此功能的条形码扫描。