public static void ShowForm(String Caption, Rectangle Bounds, Boolean TopMost, Boolean disabledCancel, WaitCallback callBack, object userState) { if (progressWindow == null) { progressWindow = new ProgressWindow(); } progressWindow.Text = Caption; progressWindow.TopMost = TopMost; if (Bounds != Rectangle.Empty) { progressWindow.Bounds = Bounds; } progressWindow.disabledCancel = disabledCancel; ((IProgressCallback)progressWindow).UserState = userState; ThreadPool.QueueUserWorkItem(callBack, progressWindow); progressWindow.ShowDialog(); }