我正在使用条形码阅读器从产品中获取条形码。 我在文本字段中获取代码。我把textchanged事件放在那个文本框上。 但问题是,当条形码赋值时(例如条形码为5位),则会触发textchanged事件五次。 怎么骑这个东西???
答案 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
变量应包含扫描的条形码值。