繁体   English   中英

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

[英]How to add the value of barcode scanner in textbox

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

因此,扫描仪可以正常工作,并且可以将值提供给选定的文本框。 通过单击文本框控件,您可以将焦点放在该控件上。 因此在使用textBox1.Focus();加载表单时以编程方式执行此操作textBox1.Focus(); 方法; 假设Form1为您的表单, textBox1为各自的文本框,代码如下所示:

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

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

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

在我看来,条形码扫描与键盘输入相同,它只是来自条形码扫描器。 因此,如果您希望仅将其放置在一个文本框中,则可以有多个选择

->如果您的条形码具有模式写入方法以检测该模式并检查所有文本框的textchange事件(如果是条形码),则填充所需的文本框

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;
    }

}

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

条码扫描器

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


焦点文本框

TextBox可以使用

tbxBarcode.Focus();

自动聚焦文本框

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

使用表单的事件KeyDown来检查是否正在扫描某些内容,但未写入tbxBarcode


多个条形码

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM