private void btn_start_Click(object sender, EventArgs e) { if ( "Start capturing" == btn_start.Text ) { m_packet_listener = new UDPMessageListener(int.Parse(tb_port.Text), System.Net.Sockets.ProtocolType.Udp, true); m_tracer = new CTracer(m_sFileName, true); m_packet_listener.OnMessage += new UDPMessageListener.OnMessageCallback(OnReceivedMessage); btn_start.Text = "Stop capturing"; m_serialPort.PortName = m_cbx_serialPort.SelectedItem.ToString(); m_serialPort.BaudRate = int.Parse(cbxBaud.Text); m_serialPort.Open(); } else { m_tracer.Close(); m_packet_listener = null; m_tracer = null; btn_start.Text = "Start capturing"; m_serialPort.Close(); } }