private void UpdateProgressBar() { if (progressBar1.InvokeRequired) { var d = new SafeCallDelegate3(UpdateProgressBar); try { progressBar1.Invoke(d); } catch (System.ComponentModel.InvalidAsynchronousStateException) { computationThread.Join(); } } else { progressBar1.PerformStep(); } }
private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { //received data from serial port SerialPort sp = (SerialPort)sender; string indata = sp.ReadExisting(); //Console.WriteLine(indata); //parse input data to shot structure and determine score Shot shot = parseJson(indata); if (shot.count >= 0) { currentSession.addShot(shot); drawArrow(shot); writeShotData(indata, shot); var d = new SafeCallDelegate3(targetRefresh); //draw shot this.Invoke(d); } else { displayError("Error parsing shot " + indata); } }