Iam从事POS应用程序它是一个Windows应用程序。
我们的条形码长度从5到16开始。这里我使用文本框更改事件获取扫描条形码,因此扫描条形码后我需要根据条形码检查服务器上的详细信息。这里的问题是文本框事件,当我扫描项目为每个数字调用事件。最多5个是好的,但之后我需要逐个检查6到16个字符。由于这种条形码扫描性能降低了。
答案 0 :(得分:0)
您已经提供了非常小的信息,但假设您在HID模式下使用条形码扫描仪(模拟键盘而不是直接连接到串行端口)并假设您正在使用TextChanged事件,那么每次都会触发事件charachter被附加到TextBox。
你需要做的是在检查条形码之前引入一个定时器来引入一个延迟(例如200ms),如果事件在定时器结束之前再次触发然后重置定时器,否则当定时器触发时检查条形码
private System.Timers.Timer barcodeTimer = new System.Timers.Timer(200);
private void barcodeTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
barcodeTimer.Stop();
barcodeTimer.Start();
}
private void barcodeTimer_Elapsed(object sender, Timers.ElapsedEventArgs e)
{
barcodeTimer.Stop();
processBarcode();
}
(从VB.Net转换为错误道歉)