private static void CurrentProgess_Disposed(object sender, EventArgs e) { if (currentProgess != sender) throw new InvalidOperationException("An unexpected progress has been disposed."); currentProgess = null; }