I have written a small application for Serial terminal but once data is received Form get frozen. I need a thread but not sure how to do it...

public class Class1
{
        public SerialPort serial;
        Thread t;

        public  Class1()
        {
            serial = new SerialPort("COM1", 38400);
            serial.DataReceived += new SerialDataReceivedEventHandler(serial_DataReceived);
            t = new Thread (new ThreadStart (WriteToTextBox));
        }

private void serial_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
          if (Form1.textBox1.InvokeRequired)
            {
                Form1.textBox1.BeginInvoke(new MethodInvoker(WriteToTextBox));
            }
            else
            {
                WriteToTextBox();
            }
}

   public void WriteToTextBox()
        {
                Form1.textBox1.AppendText(serial.ReadLine() + "\n");
        }

}

read the attached

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.