private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { bool cancel_closing = false; if (worker != null) { if (worker.IsBusy && num_closes < 5) { //Отмена cancel_closing = true; worker.CancelAsync(); num_closes += 1; m = null; } else { worker.Dispose(); worker = null; } } CloseIndexer(); //Отменяем закрытие окна if (cancel_closing) { worker.WorkerReportsProgress = false; label_info.Content = Languages.Translate("Aborting... Please wait..."); Win7Taskbar.SetProgressState(Handle, TBPF.INDETERMINATE); prCurrent.IsIndeterminate = true; e.Cancel = true; } else { //Удаляем мусор SafeFileDelete(filelistpath); //Удаление индекс-папки при отмене или ошибке if ((num_closes > 0 || m == null) && File.Exists(indexfile)) { SafeDirDelete(Path.GetDirectoryName(indexfile)); } } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { bool cancel_closing = false; if (worker != null) { if (worker.IsBusy && num_closes < 5) { //Отмена cancel_closing = true; worker.CancelAsync(); num_closes += 1; m = null; } else { worker.Dispose(); worker = null; } } CloseIndexer(); //Отменяем закрытие окна if (cancel_closing) { worker.WorkerReportsProgress = false; text_info.Content = Languages.Translate("Aborting... Please wait..."); Win7Taskbar.SetProgressState(Handle, TBPF.INDETERMINATE); prCurrent.IsIndeterminate = true; e.Cancel = true; } else { //Удаление индекс-файлов при отмене или ошибке if (num_closes > 0 || m == null) { foreach (string file in index_files) { SafeFileDelete(file); } } } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { bool cancel_closing = false; if (worker != null) { if (worker.IsBusy && num_closes < 5) { //Отмена IsAborted = true; cancel_closing = true; worker.CancelAsync(); num_closes += 1; m = null; } else { worker.Dispose(); worker = null; } } //Отменяем закрытие окна if (cancel_closing) { //CloseReader(false); worker.WorkerReportsProgress = false; label_info.Content = Languages.Translate("Aborting... Please wait..."); Win7Taskbar.SetProgressState(Handle, TBPF.INDETERMINATE); progress_total.IsIndeterminate = true; e.Cancel = true; } else { CloseReader(true); } }