没做过扫描枪的问题,做过点刷卡的问题,代码写出来看看有没帮助,是判断刷卡的时候回车键
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 刷卡_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); }
serialPort1.ReadLine();
这种情况我也遇到过,你可以看看串口的阀值(ReceivedBytesThreshold)是多少。我是设置成1的。
还有就是在DataReceived事件中,可以稍微加点延时,比如100毫秒。主要问题可能还是阀值