public void Finish() { running = false; string finishMsg = ""; if (watch != null) { //end timer watch.Stop(); TimeSpan time = TimeSpan.FromMilliseconds(watch.ElapsedMilliseconds); finishMsg = "Done in : " + time.ToString(@"hh\:mm\:ss\:fff"); watch.Reset(); } main.Dispatcher.Invoke(() => { main.Finish(finishMsg); }); }