我现在做一小程序。
有多个command、TEXT。
扫描枪扫描后会有一个回车符、
我接上扫描枪,扫描条码。需要把条码显示在指定text内。
难题一、text焦点的问题。
难题二、扫描枪后会有一个回车符,我需要它引发command事件。也就是相当于单击一下该按钮。

解决方案 »

  1.   

    在一个Timer中设置焦点到TEXTBOX中
      

  2.   

    如果我把焦点弄到text中,那回车符就没用了。触发不到command
      

  3.   

    现在明白了Text1_KeyPress可以触发command事件了、
    但是我觉得timer不好。一会锁定焦点,都不好操作其他的了
      

  4.   

    第二问解决了,现在就是第一问,怎么解决焦点不在textd 的情况下扫描到text中
      

  5.   

    是 USB 键盘接口吧?实际上相当与键盘输入。首先,将窗体的 KeyPreview 属性设置为 True.然后在窗体的 Form_KeyPress 事件中判断,如果当前焦点不在 TextBox 上,就 Text1.SetFocus。Private Sub Form_KeyPress(KeyAscii As Integer)
        If Me.ActiveControl <> Text1 Then
            Text1.SetFocus
            Text1 = Text1 & Chr(KeyAscii)
            Text1.SelStart = Len(Text1)
        End If
    End Sub
      

  6.   

    在Timer中添加这样功能的代码,当TextBox的内容为空时,将其他所有可获得焦点的控件的Enabled都设置为False(除TextBox),此时,再将TextBox设置焦点即可。
    当TextBox的文本框内容不为空时,就可以释放你想释放的代码。其实此代码也可以放在TextBox的Change事件中写
      

  7.   

    我又发现在这个情况只在XP才出现,在win7下是可行的。