用.NET支持扫描枪问题,客户就在身边,急啊!!
我用C#做的程序,为什么扫码时扫描两次才有反应一次我扫的条码是107122300019
扫第一次没反应,扫第二次时就成了“107122300019107122300019”
成了刷两次的结果 --------------------编程问答-------------------- 如果扫描错也无所谓了,只是为什么扫描两次才有一次反应,而且结果是两次扫描的结果
--------------------编程问答-------------------- 我做过用扫描枪的程式
但没有发现过你这样的现象
你有没有在文本框中做捕捉回车键的事件
看看是是否有值? --------------------编程问答-------------------- 没做过扫描枪的问题,做过点刷卡的问题,代码写出来看看有没帮助,是判断刷卡的时候回车键
private void 刷卡_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue.ToString() != "13")
{
if (key.Length < 10)
{
key += Convert.ToChar(e.KeyValue).ToString();
}
}
else
{
CardInId = key;
SFsk = true;
this.Close();
}
} --------------------编程问答-------------------- 如果值错了我可以解析一下,但是每次刷两次条码才执行一次接收事件,这是什么原因呢?
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
string barID;
barID = serialPort1.ReadExisting();
SetTextBox(barID);
} --------------------编程问答-------------------- 没做过,帮顶! --------------------编程问答-------------------- 取数据的串口程序的数据格式正确? --------------------编程问答-------------------- 可以在不同的事件里试下,看看textchange里面行不行 --------------------编程问答-------------------- 用这个看成不
serialPort1.ReadLine(); --------------------编程问答-------------------- 你应该用的是串口枪吧 USB的基本没有这现象的
这种情况我也遇到过,你可以看看串口的阀值(ReceivedBytesThreshold)是多少。我是设置成1的。
还有就是在DataReceived事件中,可以稍微加点延时,比如100毫秒。主要问题可能还是阀值
补充:.NET技术 , C#