Create a thread and continuously check for data is available or not..
ex:
public static void SomeThread() { while (true) { int t = Serialport.BytesToRead; if (t > 0) { receivedData = new byte[t]; Serialport.Read(receivedData, 0, receivedData.Length); } } }