我在使用textbox时,需要用扫描枪扫描条码,然后拿textbox接收扫描后的条码值,然后自动的调用一个查询事件进行查询。当使用TextChanged 事件的时候,每次都是扫第一个数字就调用了查询提示单号的错误,哪位大神帮助一下,我应该如何判断text的字段值已经扫描结束了?另:扫描出来的串的长度不是固定了,所以有没有别的办法!!!C/Stextbox

解决方案 »

  1.   

    textbox接收扫描后的条码值,当接收完以后,你在textbox里加一个特俗符号 比如说| 分隔符
    然后在TextChanged 事件中,你就判断有没有分隔符,发现分隔符 就知道已经扫描完成了。就执行查询事件吧
      

  2.   


    扫描枪扫描内容后,会自行有一个回车事件吧,如果是这样的话,可以写在Textbox的回车按键触发的时候之前有个类似的,无论是扫描枪直接扫描在记事本还是Excel,每扫描一次,均会回车一下,在下一行接着扫入,不知道你这边什么情况
      

  3.   

    Scaned+=(s,e){ textBox.Text=e.Code; Search(e.Code);}
      

  4.   


    每次都是扫第一个数字就调用了查询提示单号的错误-->原因在于extChanged是Text只要变化就会触发,而你的意图是条码输入完成后才触发.使用方法不对.你应该有告诉你条码已经输入完毕的方法,在条码输入完成时再去查询条码.(推荐TextValidated事件,即输入后焦点转移时才会被触发)