/// <summary> /// Displays a progress dialog in our main thread and initiates the signing /// of files in another thread. /// </summary> private void SignFiles() { // Initiate the progress dialog: var progressForm = new ProgressForm(); progressForm.Init(m_parameters.PathsOfFilesToSign.Count); // Launch the signing task: System.Threading.ThreadPool.QueueUserWorkItem(ReallySignFiles, progressForm); // Display progress dialog: progressForm.ShowDialog(); }