日期:2014-05-18  浏览次数:20925 次

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