Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows窗体应用程序中扫描条形码时,如何保持对文本框的关注?_C#_Winforms_Textbox_Barcode_Barcode Scanner - Fatal编程技术网

C# 在Windows窗体应用程序中扫描条形码时,如何保持对文本框的关注?

C# 在Windows窗体应用程序中扫描条形码时,如何保持对文本框的关注?,c#,winforms,textbox,barcode,barcode-scanner,C#,Winforms,Textbox,Barcode,Barcode Scanner,我有一个系列的USB线性条码扫描枪。它通过从条形码图像捕获数据并返回值来充当键盘楔块 我编写了自动对焦程序,并在文本框中显示扫描值。但当用户执行其他功能时,它会失去焦点,他们必须将光标放回Textbox才能获取值。这是POS系统,我不希望操作员在焦点丢失时使用鼠标 我试着使用这两种方法: textbox1.Focus()和 this.ActiveControl=textbox1 但不起作用 任何帮助都将不胜感激 注意: 在web应用程序中,我将使用JQuery来处理这个问题。在Winforms中

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

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

我试着使用这两种方法:

textbox1.Focus()

this.ActiveControl=textbox1

但不起作用

任何帮助都将不胜感激

注意:
在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();
         }
    });
});
});
$(函数(){
//关注负载
$('.scanner').focus();
//力焦点
$('.scanner').focusout(函数(){
$('.scanner').focus();
});
//Ajax的东西
$('.scanner').change(函数(){
$.ajax({
async:true,
cache:false,
键入:“post”,
url:“/echo/html/”,
数据:{
html:“这是您在此处成功加载的对象。

” }, 数据类型:“html”, beforeSend:function(){ 窗口警报(“扫描代码”); }, 成功:功能(数据){ window.alert(“成功”); $('.objectWrapper').append(数据); }, //焦点 完成:函数(){ $('.scanner').val('.focus(); } }); }); });
在键盘上形成Catch keypress事件。条形码扫描仪在扫描代码后发送返回字符(enters)。捕获整个内容,确定它是否是条形码,并将其输入所需的文本框


您说您已经尝试了
Focus()
。你找到一个条形码扫描事件了吗?你说过,但当用户执行其他功能时,它会失去焦点。那么用户在同一应用程序或任何其他应用程序上执行其他功能?我建议定义一个快捷键,如Ctrl+Shift+s(表示开始扫描),执行此快捷键时,您可以在文本框上设置焦点。@SpiderCode用户在同一窗体上执行其他功能。有没有其他不使用快捷键的方法?@P.Brian.Mackey我没有条形码扫描事件。数据进入计算机就像是在键盘上输入一样。它已被写入以接受键盘数据。它的工作原理与我们将纯文本复制到剪贴板并粘贴到记事本的方式相同。你的意思是根据字符长度决定它是否是条形码?好吧,我会这么做。捕捉一切,建立一个“缓冲区”,每次添加到缓冲区后,分析它。。。决定这是不是你的条形码?这是个好主意。我把你的答案标记为解决办法。谢谢你的帮助,太好了。很高兴我能提供一些想法。你可能不得不“让它工作”,但它应该给你你想要的。。。干杯,那个应该没问题。简单的豌豆。干杯