c#串口开发,使用事件接收到的数据如何添加到listbox里面去。

private void OnDataReceived(object sender, SerialDataReceivedEventArgs e)
{

        //开辟接收缓冲区
         byte[] ReDatas = new byte[com.BytesToRead];
          //从串口读取数据
         com.Read(ReDatas, 0, ReDatas.Length);
          //实现数据的解码与显示
         string str = byteToHexStr(ReDatas);

         MessageBox.Show(str);   
    }

            这个只能messagebox显示出来,经过转换的话会显示06出来。可是怎么样将这个读到的数据添加到listbox里面去呢。

listBox1.Items.Add(str);

for (int i = 1; i < 15; i++)
{
byte[] array = HexStringToByteArray("05");//询问。
com.Write(array, 0, array.Length);
this.listBox1.Items.Add("测试" + i+"ok");
this.listBox1.TopIndex = this.listBox1.Items.Count - (int)(this.listBox1.Height / this.listBox1.ItemHeight);
this.listBox1.Refresh();
Thread.Sleep(1000);
}
我前面有一个for循环,按listBox1.Items.Add(str);在listbox里没有显示,只有 this.listBox1.Items.Add("测试" + i+"ok");显示,怎么办。