you can use serialPort control & it's DataReceived, ErrorReceived & PinChanged event.
Example:
private string port_name = "";
public void A(string a)
{
port_name = a;
serialPort1.PortName = port_name;
serialPort1.Open();
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
label1.Text = " Yes ";
label1.Text+=serialPort1.ReadExisting();
}
private void serialPort1_ErrorReceived(object sender, SerialErrorReceivedEventArgs e)
{
label1.Text = e.ToString();
}
private void serialPort1_PinChanged(object sender, SerialPinChangedEventArgs e)
{
label1.Text = e.ToString();
}