/// ------------------------------------------------------------------------------------ /// <summary> /// Shows an instance of this dialog on a separate thread. /// </summary> /// <param name="args">The application arguments</param> /// <param name="whatToWaitFor">The condition we're waiting for.</param> /// <param name="appToStart">The application to start.</param> /// <param name="appToWaitFor">The application to wait for (null if waiting for /// WindowToActivate).</param> /// ------------------------------------------------------------------------------------ internal static void ShowOnSeparateThread(FwAppArgs args, WaitFor whatToWaitFor, FwApp appToStart, FwApp appToWaitFor) { if (whatToWaitFor != WaitFor.WindowToActivate && appToWaitFor == null) { throw new ArgumentNullException("appToWaitFor"); } if (appToStart == null) { throw new ArgumentNullException("appToStart"); } ApplicationBusyDialog dlg = new ApplicationBusyDialog(); dlg.m_whatToWaitFor = whatToWaitFor; dlg.m_args = args; dlg.m_appToStart = appToStart; dlg.m_appToWaitFor = appToWaitFor; Thread thread = new Thread(dlg.WaitForOtherApp); thread.IsBackground = true; thread.SetApartmentState(ApartmentState.STA); thread.Name = "WaitForOtherBusyApp"; thread.CurrentUICulture = Thread.CurrentThread.CurrentUICulture; thread.Start(); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Shows an instance of this dialog on a separate thread. /// </summary> /// <param name="args">The application arguments</param> /// <param name="whatToWaitFor">The condition we're waiting for.</param> /// <param name="appToStart">The application to start.</param> /// <param name="appToWaitFor">The application to wait for (null if waiting for /// WindowToActivate).</param> /// ------------------------------------------------------------------------------------ internal static void ShowOnSeparateThread(FwAppArgs args, WaitFor whatToWaitFor, FwApp appToStart, FwApp appToWaitFor) { if (whatToWaitFor != WaitFor.WindowToActivate && appToWaitFor == null) throw new ArgumentNullException("appToWaitFor"); if (appToStart == null) throw new ArgumentNullException("appToStart"); ApplicationBusyDialog dlg = new ApplicationBusyDialog(); dlg.m_whatToWaitFor = whatToWaitFor; dlg.m_args = args; dlg.m_appToStart = appToStart; dlg.m_appToWaitFor = appToWaitFor; Thread thread = new Thread(dlg.WaitForOtherApp); thread.IsBackground = true; thread.SetApartmentState(ApartmentState.STA); thread.Name = "WaitForOtherBusyApp"; thread.CurrentUICulture = Thread.CurrentThread.CurrentUICulture; thread.Start(); }