在Windows窗体应用程序中扫描条形码时如何专注于文本框?

时间:2013-11-22 04:26:22

标签: c# winforms textbox barcode barcode-scanner

我有一个Snap 3100系列USB线性条码扫描枪。它通过从条形码图像捕获数据并返回值来作为键盘楔。

我编写了程序来自动对焦并在文本框中显示扫描值。但是当用户执行其他功能时它会失去焦点,并且必须将光标放回Textbox以获取值。这是POS系统,我不希望操作员在焦点丢失时使用鼠标。

我尝试过使用两者:

textbox1.Focus();

this.ActiveControl = textbox1;

但没有工作。

非常感谢任何帮助。

NOTE: 在Web应用程序中,我会使用JQuery来处理这个问题。我在Winforms中需要这样的东西。

$(function() {
 // Focus on load
 $('.scanner').focus();
 // Force focus
 $('.scanner').focusout(function(){
     $('.scanner').focus();
 });
 // Ajax Stuff
 $('.scanner').change(function() {
     $.ajax({
         async: true,
         cache: false,
         type: 'post',
         url: '/echo/html/',
         data: {
             html: '<p>This is your object successfully loaded here.</p>'
         },
         dataType: 'html',
         beforeSend: function() {
             window.alert('Scanning code');
         },
         success: function(data) {
             window.alert('Success');
             $('.objectWrapper').append(data);
         },
         // Focus
         complete: function() {
             $('.scanner').val('').focus();
         }
    });
});
});

1 个答案:

答案 0 :(得分:2)

在键盘上形成Catch按键事件。条形码扫描器在扫描的代码之后发送返回字符(进入)。抓住整个事物,决定它是否是条形码,并将其输入所需的文本框?

http://msdn.microsoft.com/en-us/library/ms171538%28v=vs.110%29.aspx