【问题标题】:Barcode Scan taking 1 character instead of a full set of String条码扫描采用 1 个字符而不是一整套字符串
【发布时间】:2021-10-01 15:27:38
【问题描述】:

我正在尝试制作一个从 USB 扫描仪扫描条形码的应用程序。该应用程序应该寻找与条形码中的代码相对应的工作。我目前的问题是,当我尝试使用该应用程序时,它只需要 1 个字符并尝试查找与该字符对应的作业,而不是让我输入整个字符串并按 Enter。

这是我的代码:

public void SearchJob(object sender, EventArgs e)
{
    this.ChangeCurrentEntity(this.Manager.GetEntity(j => j.Code == this.TypedView.BarcodeNumber)?.FirstOrDefault());
    
    this.LoadView();
    
    if (this.confirmation.GetConfirmation())
    {
        var tokenSource = new CancellationTokenSource();
        this.task = Task.Run(() => { }, tokenSource.Token);
    
        if (!task.IsCompleted)
            tokenSource.Cancel();

        if (dcConfig.CancelCode == "CancelCode")
        {
            this.Host.CloseHost();
        }
    }

    this.TypedView.BarcodeNumber = "";
}

getConfirmation() 是确认工作的弹出窗口,我认为目前与我的问题无关。

这是我的表格:

private void JobNumberTextBox_TextChanged(object sender, EventArgs e)
{
    JobEntered?.Invoke(this, e);
}

任何帮助将不胜感激。

【问题讨论】:

    标签: c# barcode barcode-scanner


    【解决方案1】:

    您正在等待错误的事件。您需要等待KeyPress 事件

    private void JobNumberTextBox_KeyPress(object sender, KeyPressEventArgs e)
    {
        if(e.KeyChar == (char)Keys.Return)
        {
            e.Handled = true;
            JobEntered?.Invoke(this, e);
        }
    }
    

    附注:大多数条码扫描器都可以配置为在扫描后添加 Enter 键

    【讨论】:

    • 之前没有看到你的帖子,但我做了类似的事情。非常感谢!
    【解决方案2】:

    我想我解决了我的问题。

    我删除了我的文本更改功能并将其替换为 Keydown 功能,这样当我按下输入事件以搜索工作触发器时(这样我就可以输入完整的字符串)。我还将我的 Keydown 与我的 TextBox 绑定。

    private void Form1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    JobEntered?.Invoke(this, e);
    
                    
                }
            }
    

    【讨论】:

    • 你能显示新代码吗?感谢编辑将其包含在此答案中
    • 非常类似于@Charlieface 我编辑了我的帖子。
    • 如果很像,何不和他谈谈,去掉你的答案,接受他的答案?
    • 我没有看到他的帖子就发帖了。
    猜你喜欢
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2022-11-05
    • 2017-03-30
    • 2015-01-27
    相关资源
    最近更新 更多