VB.net 中扫描强 输入ID的一个问题
用HandHeld的扫描强 ,扫描输入ID,键盘的keydown 事件如下:扫描枪设置最后是enter。
Private Sub TboxCode_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TboxCode.KeyDown
Dim KeyCodes As String
Select Case e.KeyCode
Case Keys.D1
m_InputKey = m_InputKey + "1"
Case Keys.D2
m_InputKey = m_InputKey + "2"
Case Keys.D3
m_InputKey = m_InputKey + "3"
Case Keys.D4
m_InputKey = m_InputKey + "4"
Case Keys.D5
m_InputKey = m_InputKey + "5"
Case Keys.D6
m_InputKey = m_InputKey + "6"
Case Keys.D7
m_InputKey = m_InputKey + "7"
Case Keys.D8
m_InputKey = m_InputKey + "8"
Case Keys.D9
m_InputKey = m_InputKey + "9"
Case Keys.D0
m_InputKey = m_InputKey + "0"
Case Keys.T
m_InputKey = m_InputKey + "T"
Case Keys.J
m_InputKey = m_InputKey + "J"
Case Keys.Enter
TboxCode.Text = m_InputKey
m_InputKey = ""
End Select
End Sub
问题:
如何用过采用手动键盘输入的方式时,为什么也能对文本框进行输入呢??
用户不会按enter键的啊,这样 这个语句就不会执行啊:
Case Keys.Enter
TboxCode.Text = m_InputKey
m_InputKey = ""
没有给textbox中赋值的操作啊
可是一般的话对textbox 不会做如何事件响应,默认就可用通过键盘输入啊??
不知道了。
[解决办法]
连中文都不通 我看都看不懂你中文写的是什么!!
如果你要禁用键盘输入,你要写
e.Handled = true
true 表示跳过控件的默认处理; false 表示还将该事件传递给默认控件处理程序。
[解决办法]
因为题目中 有敏感词,所以账号被锁定了。
用扫描qiang 扫描条码ID 到 textbox 控件中显示,用的是keydown 事件对码字解析。
[解决办法]
这个事件在用户用键盘直接输入时,也是要响应的。但是用户用键盘直接输入的话,不会按enter键的,
怎么也能显示呢?
[解决办法]
如果你要禁用键盘输入,你要写
e.Handled = true
但上述没写,就是说运行了你的程序之后,还是该响应什么消息就响应什么消息的!
而且估计你按了键盘后不按回车,再按退格删除了输入的文字,再用扫描器扫描,这是后你删除的两个字会又出现了