【问题标题】:To Increase Performance of Barcode scanning提高条码扫描性能
【发布时间】:2017-05-17 13:20:05
【问题描述】:

我正在开发 POS 应用程序,它是一个 Windows 应用程序。

我们的条形码长度从 5 到 16。这里我使用文本框更改事件来获取扫描的条形码,所以在扫描条形码后,我需要根据条形码检查服务器上的详细信息。这里的问题是文本框事件,当我扫描项目时,每个数字都会调用该事件。最多 5 个可以,但之后我需要一个一个检查 6 到 16 个字符。由于这种条码扫描性能降低。

【问题讨论】:

    标签: sql .net windows c#-4.0


    【解决方案1】:

    您提供的信息非常少,但是假设您在 HID 模式下使用条形码扫描仪(模拟键盘而不是直接连接到串行端口)并假设您正在使用 TextChanged 事件,那么是的,该事件每次都会触发字符被附加到文本框。

    因此,您需要做的是在检查条形码之前引入一个计时器以引入延迟(例如 200 毫秒),如果事件在计时器结束之前再次触发,则重置计时器,否则当计时器触发时检查条形码.

    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 转换而来,如有错误请见谅)

    【讨论】:

    • TextBox.Text 没有更多更改后的 200 毫秒
    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 1970-01-01
    相关资源
    最近更新 更多