C# 串口接收数据添加到listview中出现断行如何解觉?
C# 串口接收数据添加到listview中出现断行如何解觉?
private void timer1_Tick(object sender, EventArgs e)
{
if (serialPort1.IsOpen == true)
{
index = this.comboBox2.SelectedIndex;
serialPort1.BaudRate = br[index];
byte[] buf = new byte[4095];
if (serialPort1.BytesToRead > 0)//获取接受缓冲区中数据的字节数
{
serialPort1.Read(buf, 0, serialPort1.BytesToRead);
ASCIIEncoding encoding = new ASCIIEncoding();
string constructedString = encoding.GetString(buf, 0, buf.Length); //将获取的字节转换成字符串
listBox1.Items.Add(constructedString.ToString()); //将字符串显示到listbox1上
}
}
}
接收到的数据会出现断行,如何解决,急急急,请高手帮忙!
------解决方案--------------------你用定时器接收,不断才怪,C# serialPort 有自动接收数据的事件,你自己看看吧。
------解决方案--------------------建议你在接受事件中不要对listview操作,先把收到的数据保存在内存列表中,然后做一个线程去从列表中取数据添加到listview