C# 条形码扫描后的列表框事件

C# 条形码扫描后的列表框事件,c#,winforms,C#,Winforms,我在窗口应用程序中使用listbox,我的listbox有一些条形码 我想通过条形码阅读器扫描它们,然后将它们移动到另一个列表框中,但我找不到自动触发并将条形码移动到另一个列表框的列表框的任何事件。大多数条形码扫描仪添加了“承运商退货”,即读取条形码后输入 就像模拟按Enter键一样 您可以尝试在表单或列表框控件(如果列表框处于焦点位置)上的按键/向下键事件中捕获此回车键。大多数条形码扫描仪都会添加“承运商退货”,即在读取条形码后输入 就像模拟按Enter键一样 您可以尝试在表单或列表框控件(如

我在窗口应用程序中使用listbox,我的listbox有一些条形码


我想通过条形码阅读器扫描它们,然后将它们移动到另一个列表框中,但我找不到自动触发并将条形码移动到另一个列表框的列表框的任何事件。

大多数条形码扫描仪添加了“承运商退货”,即读取条形码后输入

就像模拟按Enter键一样


您可以尝试在表单或列表框控件(如果列表框处于焦点位置)上的按键/向下键事件中捕获此回车键。

大多数条形码扫描仪都会添加“承运商退货”,即在读取条形码后输入

就像模拟按Enter键一样


您可以尝试在表单或列表框控件(如果列表框处于焦点位置)上的按键/向下键事件中捕获此回车键。

大多数条形码扫描仪都会添加“承运商退货”,即在读取条形码后输入

就像模拟按Enter键一样


您可以尝试在表单或列表框控件(如果列表框处于焦点位置)上的按键/向下键事件中捕获此回车键。

大多数条形码扫描仪都会添加“承运商退货”,即在读取条形码后输入

就像模拟按Enter键一样


您可以尝试在窗体或listbox控件上的keypress/keydown事件中捕获此输入(如果listbox处于焦点状态)

如果listbox具有焦点,则此功能适用于我的扫描仪:

string scannerInput = "";

private void listBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if ((int)e.KeyChar == 13)
    {
        listBox1.Items.Add(scannerInput );
        scannerInput = "";
    }
    else scannerInput += e.KeyChar.ToString();
}

如果列表框具有焦点,则此选项适用于我的扫描仪:

string scannerInput = "";

private void listBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if ((int)e.KeyChar == 13)
    {
        listBox1.Items.Add(scannerInput );
        scannerInput = "";
    }
    else scannerInput += e.KeyChar.ToString();
}

如果列表框具有焦点,则此选项适用于我的扫描仪:

string scannerInput = "";

private void listBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if ((int)e.KeyChar == 13)
    {
        listBox1.Items.Add(scannerInput );
        scannerInput = "";
    }
    else scannerInput += e.KeyChar.ToString();
}

如果列表框具有焦点,则此选项适用于我的扫描仪:

string scannerInput = "";

private void listBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if ((int)e.KeyChar == 13)
    {
        listBox1.Items.Add(scannerInput );
        scannerInput = "";
    }
    else scannerInput += e.KeyChar.ToString();
}

使用单个控制手柄从键盘楔块扫描条形码是有问题的。要求用户在扫描前设置控件的焦点是自找麻烦。尝试通过实现“PreviewtOutput”事件让表单处理扫描

大多数键盘楔形扫描器可编程为发送前导码和后置amble码。这些字符应该是不可打印的ASCII字符。我使用了Char(2)和Char(3)。它们分别是STX–文本开始和ETX–文本结束

bool InteceptBarcode = false;
string barcodeValue = string.empty;
private void Window_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    if(InteceptBarcode)
    {
        barcodeValue = += e.Text
        e.Handled = true; //The keyboard character will stop bubbling up the control tree 
    }
    else if (e.Text == (char)2  //Start of text character
    {
        InterceptBarcode = true;
        barcodeValue = string.empty;
        e.Handled = true;
    }
    else if (e.Text == {char)3) //End of text character
    {
            InterceptBarcode = false
        e.Handled = true;
        //Now do what ever you need to do on the UI.
    }
    else
    {
        e.Handled = false;
    }                   
}

使用单个控制手柄从键盘楔块扫描条形码是有问题的。要求用户在扫描前设置控件的焦点是自找麻烦。尝试通过实现“PreviewtOutput”事件让表单处理扫描

大多数键盘楔形扫描器可编程为发送前导码和后置amble码。这些字符应该是不可打印的ASCII字符。我使用了Char(2)和Char(3)。它们分别是STX–文本开始和ETX–文本结束

bool InteceptBarcode = false;
string barcodeValue = string.empty;
private void Window_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    if(InteceptBarcode)
    {
        barcodeValue = += e.Text
        e.Handled = true; //The keyboard character will stop bubbling up the control tree 
    }
    else if (e.Text == (char)2  //Start of text character
    {
        InterceptBarcode = true;
        barcodeValue = string.empty;
        e.Handled = true;
    }
    else if (e.Text == {char)3) //End of text character
    {
            InterceptBarcode = false
        e.Handled = true;
        //Now do what ever you need to do on the UI.
    }
    else
    {
        e.Handled = false;
    }                   
}

使用单个控制手柄从键盘楔块扫描条形码是有问题的。要求用户在扫描前设置控件的焦点是自找麻烦。尝试通过实现“PreviewtOutput”事件让表单处理扫描

大多数键盘楔形扫描器可编程为发送前导码和后置amble码。这些字符应该是不可打印的ASCII字符。我使用了Char(2)和Char(3)。它们分别是STX–文本开始和ETX–文本结束

bool InteceptBarcode = false;
string barcodeValue = string.empty;
private void Window_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    if(InteceptBarcode)
    {
        barcodeValue = += e.Text
        e.Handled = true; //The keyboard character will stop bubbling up the control tree 
    }
    else if (e.Text == (char)2  //Start of text character
    {
        InterceptBarcode = true;
        barcodeValue = string.empty;
        e.Handled = true;
    }
    else if (e.Text == {char)3) //End of text character
    {
            InterceptBarcode = false
        e.Handled = true;
        //Now do what ever you need to do on the UI.
    }
    else
    {
        e.Handled = false;
    }                   
}

使用单个控制手柄从键盘楔块扫描条形码是有问题的。要求用户在扫描前设置控件的焦点是自找麻烦。尝试通过实现“PreviewtOutput”事件让表单处理扫描

大多数键盘楔形扫描器可编程为发送前导码和后置amble码。这些字符应该是不可打印的ASCII字符。我使用了Char(2)和Char(3)。它们分别是STX–文本开始和ETX–文本结束

bool InteceptBarcode = false;
string barcodeValue = string.empty;
private void Window_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    if(InteceptBarcode)
    {
        barcodeValue = += e.Text
        e.Handled = true; //The keyboard character will stop bubbling up the control tree 
    }
    else if (e.Text == (char)2  //Start of text character
    {
        InterceptBarcode = true;
        barcodeValue = string.empty;
        e.Handled = true;
    }
    else if (e.Text == {char)3) //End of text character
    {
            InterceptBarcode = false
        e.Handled = true;
        //Now do what ever you need to do on the UI.
    }
    else
    {
        e.Handled = false;
    }                   
}

为什么会发生这样的事件?列表框如何知道条形码何时被扫描?您可以在成功读取条形码时引发事件,但前提是您的程序也控制条形码扫描仪。一些条形码扫描仪模拟键盘,而其他一些可以完全集成到您的程序中,并提供良好的API。这些API通常包含代码成功读取时的事件,因此如果您使用的是这样的扫描仪,请查看文档。如果是键盘仿真器,则检查按下的“键”,如下面的答案所示。为什么会发生这样的事件?列表框如何知道条形码何时被扫描?您可以在成功读取条形码时引发事件,但前提是您的程序也控制条形码扫描仪。一些条形码扫描仪模拟键盘,而其他一些可以完全集成到您的程序中,并提供良好的API。这些API通常包含代码成功读取时的事件,因此如果您使用的是这样的扫描仪,请查看文档。如果是键盘仿真器,则检查按下的“键”,如下面的答案所示。为什么会发生这样的事件?列表框如何知道条形码何时被扫描?您可以在成功读取条形码时引发事件,但前提是您的程序也控制条形码扫描仪。一些条形码扫描仪模拟键盘,而其他一些可以完全集成到您的程序中,并提供良好的API。这些API通常包含代码成功读取时的事件,因此如果您使用的是这样的扫描仪,请查看文档。如果是键盘仿真器,则检查按下的“键”,如下面的答案所示。为什么会发生这样的事件?列表框如何知道条形码何时被扫描?您可以在成功读取条形码时引发事件,但前提是您的程序也控制条形码扫描仪。一些条形码扫描仪模拟键盘,而其他一些可以完全集成到您的程序中,并提供良好的API。这些API通常包含代码成功读取时的事件,因此如果您使用的是这样的扫描仪,请查看文档。如果是键盘模拟器,则检查按下的“键”,