void AutoScan() { try { ComPortList = SerialPort.GetPortNames(); foreach (string port in ComPortList) { ComSerial.PortName = port.ToString(); PortAvailable = port.ToString(); } ComSerial.PortName = txtComPort.Text; ComSerial.Open(); if (!string.IsNullOrWhiteSpace(txtBaundRate.Text)) { ComSerial.BaudRate = Convert.ToInt32(txtBaundRate.Text); } if (!string.IsNullOrWhiteSpace(cmbParity.Text)) { ComSerial.Parity = SystemProperties.Getparity(cmbParity.Text); } if (!string.IsNullOrWhiteSpace(cmbStopBits.Text)) { ComSerial.StopBits = SystemProperties.GetStopBit(cmbStopBits.Text); } if (!string.IsNullOrWhiteSpace(txtDataBits.Text)) { ComSerial.DataBits = Convert.ToInt32(txtDataBits.Text); } //txtStatus.Text = ""; ComSerial.DataReceived += new SerialDataReceivedEventHandler(ComSerial_DataReceived); //ComSerial.Close(); } catch (Exception ex) { //ComSerial.Close(); //ComSerial.ReadTimeout = 100; //ComSerial.PortName = PortAvailable; //ComSerial.Open(); //ComSerial.BaudRate = 9600; //ComSerial.Parity = Parity.None; //ComSerial.StopBits = StopBits.One; //ComSerial.DataBits = 8; //ComSerial.DataReceived += new SerialDataReceivedEventHandler(ComSerial_DataReceived); txtStatus.Text = "Available serial port: " + Environment.NewLine + PortAvailable + Environment.NewLine + Environment.NewLine + "Defaul settings:" + Environment.NewLine + " BoundRate: 9600, DataBits: 8,StopBits: One,Parity: None "; AutoScanTimer.Stop(); AutoScanTimer.Enabled = false; ComSerial.Close(); } }