如何从条形码阅读器使用textChanged事件

时间:2014-10-03 06:51:26

标签: wpf vb.net vb.net-2010

我正在使用条形码阅读器从产品中获取条形码。 我在文本字段中获取代码。我把textchanged事件放在那个文本框上。 但问题是,当条形码赋值时(例如条形码为5位),则会触发textchanged事件五次。 怎么骑这个东西???

1 个答案:

答案 0 :(得分:0)

您应该能够对条形码阅读器进行编程,以输出前缀字符和后缀字符(扫描值之前的一个输出和之后的一个输出)。我们假设您将其设置为在扫描数据值之前输出星号( * ),然后输出回车符(CR)。将处理程序附加到TextBox.PreviewTextInput Event并听取星号字符:

private void PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    if (e.Text == "*") 
    {
        e.Handled = true;
        // Data input has started
    }
}

您可以使用此功能弹出一条消息,说明“扫描...”或其他您需要的信息。接下来,将处理程序附加到TextBox.KeyUp Event并侦听 Enter 键:

private void KeyUp(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Return)
    {
        string scannedValue = ScanTextBox.Text.Replace("*", string.Empty);
        // Do something with scannedValue 
    }
}

现在scannedValue变量应包含扫描的条形码值。