async void SearchWord(object obj) { CancellationToken token = cancelTokenSource.Token; PathSearchFiles.Clear(); Load_indicator = 0; searchProcess = true; await Task.Run(() => { BreakButtonVisibality = "Visible"; foreach (var path in PathFiles) { if (token.IsCancellationRequested) { //MessageBox.Show("Операция прервана"); return; } Load_indicator++; string text = Convert.ToString(FileUsing.OpenWordprocessingDocumentReadonly(path.FileName)); try { if (text.Contains(FindText)) { App.Current.Dispatcher.Invoke((System.Action) delegate { PathSearchFiles.Add(new PathFile { FileName = path.FileName }); // так как список может обновится только //из потока, где он был создан проделегируем выполнение данного действия основному потоку }); // MessageBox.Show(text); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } searchProcess = false; BreakButtonVisibality = "Collapsed"; }); // MessageBox.Show(Convert.ToString(PathSearchFiles.Count)); }
static void Main(string[] args) { do { FileUsing fileUsing = new FileUsing(); try { fileUsing.WriteFile(true, 200, 200); fileUsing.SetMethod(Output); // присвоили метод fileUsing.ReadFile(); } catch (Exception ex) // ловим исключения { Console.WriteLine(ex.Message); } Console.WriteLine("Для продолжения нажмите любую клавишу."); Console.WriteLine("Для выхода из программы нажмите Escape."); } while (Console.ReadKey(true).Key != ConsoleKey.Escape); }
private void OpenFile(object obj) { FileUsing.Openfile(SelectedFindFiles.FileName); }