如何在文本框中添加条形码扫描仪的值

问题描述 投票:0回答:4

我的WindowsForm中有多个文本框。每当我使用条形码扫描仪进行扫描时,我应首先单击文本框,然后再扫描。但是,我想在每次扫描时将条形码扫描仪的值放在特定的文本框中。是否有特定的代码或选项?

c# winforms barcode-scanner
4个回答
1
投票

因此扫描仪正常工作,它为您提供所选文本框的值。通过单击文本框控件,您可以将焦点放在该控件上。所以在使用textBox1.Focus();方法加载表单时以编程方式执行;让Form1成为你的形式,textBox1是相应的文本框,代码如下:

public partial class Form1 : Form
{
    private void Form1_Load(object sender, System.EventArgs e)
    {
        textBox1.Focus();
    }
}

1
投票

首先,每当您扫描任何条形码扫描器时,将读取该值并将该值粘贴到活动文本框中,因此如果您的要求是仅在特定的一个文本框中扫描条形码,则可以在下面的表单加载事件中设置该条形码的焦点。

        private void DataLoging_Load(object sender, EventArgs e)
    {
        try
        {
         txtBarcode.Focus();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

0
投票

在我看来,条形码扫描与键盘输入相同,它只是来自条形码扫描仪。因此,如果您希望它只放在一个文本框中,您有多个选项

- >如果您的条形码有模式写入方法来检测该模式并检查所有文本框的textchange事件,如果这样的条形码,如果是这样填写您需要的textBox

public static void CheckForbarcode(TextBox origin)
{
string data=origin.Text;
// asssuming your barcode is 12 digit long

    if(data.Length==12)
    {
     //Regex Pattern goes here
     origin.Text="";
     Barcode.text=data;
    }

}

任何操作完成后,第二组焦点到该文本框


-1
投票

The barcode scanner

条形码扫描仪是键盘(看起来不像一个)。


Focus TextBox

TextBox可以使用

tbxBarcode.Focus();

Focus TextBox Automatically

如果textBox没有聚焦并且您扫描某些内容,则不会写入。

使用表单的事件KeyDown检查是否正在扫描某些内容但没有在tbxBarcode中写入。


Multiple barcodes

您可以使用tbxBarcode.TextChanged事件来了解条形码是否已完全扫描并以编程方式按Tab键。

如果条码在扫描后按Enter键更好,因为你可以在textBox1.KeyDown中使用它并让e.KeyValue == Keys.Enter运行btnNextBarcode.PerformClick()

© www.soinside.com 2019 - 2024. All rights reserved.