// the method that starts the progress bar window private void progressStart() { //starts a new thread on the cpu. like a different application running on its own away from this one progress = new Thread(() => { //create calls the ProgressBarWin class created in this project. pbw = new ProgressBarWin(); //show up the progress bar window pbw.ShowDialog(); }); //sets the state of the thread progress.SetApartmentState(ApartmentState.STA); //starts running the thread. progress.Start(); }