以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何做到TextBox只允许读卡器输入,不允许手工输入  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=41978)

--  作者:jnletao
--  发布时间:2013/10/31 18:01:00
--  [求助]如何做到TextBox只允许读卡器输入,不允许手工输入
TextBox如何做到只允许读卡器输入,不允许手工输入,

求代码

--  作者:狐狸爸爸
--  发布时间:2013/10/31 18:05:00
--  

似乎是没有办法的哦,因为读卡器输入本质上和键盘输入是一回事。

 

你试试在keypress和keydown事件设置代码看看,按道理是不行的。


--  作者:程兴刚
--  发布时间:2013/10/31 18:15:00
--  

变通可以:

 

第一步:假设该文本框名称为TextBox1,将其复制一个,假设为TextBox2

第二步: TextBox1只读属性设置为true,TextBox2可见属性设置为false,TextBox2的ValueChanged事件代码设置为:e.Form.Controls("TextBox1").Value = e.Sender.Value

 

然后:读卡器输入到TextBox2即可,没什么难度的!

 

 

[此贴子已经被作者于2013-10-31 18:15:25编辑过]

--  作者:程兴刚
--  发布时间:2013/10/31 18:29:00
--  

哦,那就监视端口,直接将端口采集到的数据给TextBox1输入,这个需要VB.NET高手!


--  作者:有点甜
--  发布时间:2013/10/31 19:23:00
--  
呵呵,这个简单啊,程总的做法。两个textbox,一个用来显示,一个用来供输入。可以控制textbox显示的位置,比如-1000

或者,判断输入字符的速度,如果是连续快速输入的话,就判别为读卡。