private void m_btnSelectSpreadsheetFile_Click(object sender, EventArgs e) { using (var openDlg = new OpenFileDialog { CheckFileExists = true }) { openDlg.Filter = string.Format("Excel files ({0})|{0}", "*" + Constants.kExcelFileExtension); openDlg.CheckFileExists = true; if (openDlg.ShowDialog() == DialogResult.OK) { lock (this) { if (ExcelSpreadsheetLoader.IsBusy) { ExcelSpreadsheetLoader.CancelAsync(); } } if (File.Exists(openDlg.FileName)) { if (m_lblSpreadsheetFilePath.Text == openDlg.FileName) { LoadExcelSpreadsheet(m_lblSpreadsheetFilePath.Text); // Force attempted reload } else { m_lblSpreadsheetFilePath.Text = openDlg.FileName; } } } } }
private void LoadExcelSpreadsheet(string path) { m_btnOk.Enabled = m_btnSkipAll.Enabled = false; m_dataGridRefTexts.RowCount = 0; m_lblLoading.Visible = true; object[] parameters = { path }; lock (this) { ExcelSpreadsheetLoader.RunWorkerAsync(parameters); } }