C#如何做<;输入>;条形码?

C#如何做<;输入>;条形码?,c#,.net,C#,.net,我有ItemNo和LotNo值的组合 例如: ItemNo: I123 LotNo : L12345 Barcode Value is: "I123L12345" 我想把ItemNo的值放到txtItemNo.Text,把LotNo的值放到txtLotNo.Text 如何指示条形码进行回车或输入,以便我能够在一次条形码扫描中输入2个值 我的条形码支持代码128、代码3of9和代码93 提前感谢。我与条形码阅读器(Datalogic and Symbol)合作了近3年,您要问的是条形码阅读器的

我有ItemNo和LotNo值的组合

例如:

ItemNo: I123
LotNo : L12345
Barcode Value is: "I123L12345" 
我想把ItemNo的值放到txtItemNo.Text,把LotNo的值放到txtLotNo.Text

如何指示条形码进行回车或输入,以便我能够在一次条形码扫描中输入2个值

我的条形码支持代码128、代码3of9和代码93


提前感谢。

我与条形码阅读器(Datalogic and Symbol)合作了近3年,您要问的是条形码阅读器的配置问题

您可能需要从配置图中读取代码,并在读取条形码后进行设置,同时发送CR

为我们提供品牌和型号,也许我可以帮你设置


当然,通过编程,您可以收听文本事件(在文本更改时),当您有条形码长度时,只需将焦点()移动到其他控件,或添加换行符(例如,如果它是多行文本框)

private void txtMyBCInput_OnTextChanged(...) {
    if(txtMyBCInput.Length >= 13)
       txtMyBCInput.Text += System.Environment.NewLine;
}

我试图向他们发送一封电子邮件,要求他们提供有关您的问题的所有数据,我得到了以下信息:

亲爱的布鲁诺,

根据我们的销售政策,我们支持我们的客户 通过我们当地的合作伙伴。请让我们知道您的公司名称 朋友拿到了我们的设备,我会联系公司帮助你 朋友。如果您有任何疑问,请告诉我。

谢谢!
诚挚的

Julee Lee
海外销售EMEA部门/销售经理
蓝鸟软件公司
1242韩国汉城江南谷盖博洞
电话:82-70-7730-8130手机:82-10-8876-6564传真:82-2-548-0870


因此,请随时联系他们并要求提供此功能:)

听起来您希望条形码自动在扫描值中插入一个EnterKey。虽然可能有条形码扫描仪可以做到这一点,但大多数不会

相反,由您的代码来识别输入的值中有两个值,并将它们解析出来并分发到相应的字段中


例如,如果每个代码以字母开头,后跟一个数字值,则可以遍历字符,检查字母或数字,并相应地处理它们。

您可以在条形码的两个部分之间放置制表符(0x09),并确保文本框中连续的TabIndex和AcceptTabs设置为false。因此,当条形码阅读器将标签放入第一个文本框时,焦点将移到第二个框。

如果您自己打印条形码,可以使用Code128并在条形码中包含CR、LF和or标签。顺便说一句,您应该看看,因为您正在做的事情看起来像是GS1-128的正确应用。这样做将允许您的业务合作伙伴使用您的条形码,而无需协商格式,只要他们的软件理解GS1-128。

此解决方案可能有助于:

首先,您必须在条形码中包含分隔符

然后使用此代码(此代码假定分隔符为“$”):


我试过这个,但没有成功。我认为您无法跟踪ContextChanged事件,因为条形码将值块成批放置在每个字符上,而不是每个字符上。谢谢。我正在使用带内置条形码的Pidiaon BIP 6000 PDA。感谢您的帮助。为我在您的Behavior中发送的支持电子邮件添加了电子邮件响应。我认为这会起作用,但有了此解决方案,我将被迫在每个TexBox事件中添加代码。是的,两个字段都需要捕获事件,但逻辑本身应放在一个方法中,两个事件处理程序都可以调用。我也尝试了这个。每当我在条形码上添加0x09时。它还打印0x09。如果我把CR,LF放在两个值之间,它也会打印CR和LF。
private void textBox1_TextChanged(object sender, EventArgs e)
    {
        if (textBox1.Text.Contains("$"))
        {
            string[] str_split = textBox1.Text.Split("$".ToCharArray ());
            textBox1.Text = str_split[0].ToString ();
            textBox2.Text = str_split[1].ToString();
        }
    }