提高条形码扫描的性能

时间:2017-05-17 13:20:05

标签: sql .net windows c#-4.0

Iam从事POS应用程序它是一个Windows应用程序。

我们的条形码长度从5到16开始。这里我使用文本框更改事件获取扫描条形码,因此扫描条形码后我需要根据条形码检查服务器上的详细信息。这里的问题是文本框事件,当我扫描项目为每个数字调用事件。最多5个是好的,但之后我需要逐个检查6到16个字符。由于这种条形码扫描性能降低了。

1 个答案:

答案 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转换为错误道歉)