//завантаження технологічної карти private void MenuItem_LoadTechnoCard(object sender, RoutedEventArgs e) { OpenFileDialog open = new OpenFileDialog(); open.Filter = "Excel file (*.xls; *.xlsx)|*.xls; *.xlsx"; if (open.ShowDialog() == true) { Table.ItemsSource = null; LoadingAnimation.Visibility = Visibility.Visible; new Thread(new ThreadStart(() => { technologicalCard = new ExcelParser(open.FileName).ParseTechnoCard(); if (technologicalCard != null) { Table.Dispatcher.Invoke(() => { Table.ItemsSource = technologicalCard.Blocks; }); } else { MessageBox.Show("Не вдалось завантажити технологічну карту", "Помилка"); } LoadingAnimation.Dispatcher.Invoke(() => { LoadingAnimation.Visibility = Visibility.Collapsed; }); ExcelParser.KillProccess(); })).Start(); } }
//закриття програми, бажано вбивати excel, можливо поставити перевірку на підтвердження закриття, щоб випадково не обірвали процеси private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { ExcelParser.KillProccess(); }