public Lidar(string ComPort, int Baudrate, UpdateLidarUI UpdateDel) { urg = new SerialPort(ComPort, Baudrate); UpdateDelegate = UpdateDel; //Assign Event Handler this.Process to DoWork lidarBW.DoWork += this.Process; try { urg.NewLine = "\n\n";//this is critical urg.Open(); //Run Thread (this.Porcess) lidarBW.RunWorkerAsync(); } catch (Exception e) { MessageBox.Show(e.ToString()); } }