private void m_BtnMerge_Click ( object sender, EventArgs e ) { try { if (m_lbDTBfiles.Items.Count >= 2) { m_StatusLabel.Text = "Merging all DTBs in listbox. "; if (m_txtDirectoryPath.Text == "") { MessageBox.Show ( "Output Directory Path cannot be empty, Please select the output Directory Path", "Select Directory", MessageBoxButtons.OK, MessageBoxIcon.Error ); m_BtnOutputDirectory.Focus (); m_StatusLabel.Text = "Click Browse button to select the Directory to save the merged files.."; return; } if (m_txtDirectoryPath.Text.Length > 0) { if (!m_bgWorker.IsBusy) { m_bgWorker.RunWorkerAsync (); } else { MessageBox.Show ( " Please be patient, earlier task is in progress " ); return; } if (m_bgWorker.IsBusy) { progress = new ProgressDialogDTB (); progress.FormClosing += new FormClosingEventHandler ( ProgressDialog_FormClosing ); progress.ShowDialog ( this ); } while (m_bgWorker.IsBusy) { Application.DoEvents (); } } } else { MessageBox.Show ( "Either there are no files or only one file in the Listbox to merge. Minimum 2 files are needed for merging. Please add some files in Listbox.Click Add button.", "Listbox Empty", MessageBoxButtons.OK, MessageBoxIcon.Exclamation ); m_btnAdd.Focus (); } } catch (Exception ex) { MessageBox.Show ( ex.ToString () ); } }//m_BtnMerge_Click
}//ProgressDialog_FormClosing private void m_bgWorker_RunWorkerCompleted ( object sender, AsyncCompletedEventArgs e ) { if (progress != null) { progress.Close (); progress = null; } if (e.Error == null) { if (m_Merger != null && !m_Merger.IsCancelled) { m_StatusLabel.Text = "Files have been merged and placed in the given directory path. "; m_BtnValidateOutput.Enabled = true; MessageBox.Show ( "Files have been merged and put in the respective directory " + m_txtDirectoryPath.Text + " .", "Files Merged in Directory", MessageBoxButtons.OK, MessageBoxIcon.Information ); } } if (e.Error != null) { MessageBox.Show ( e.Error.Message ); m_StatusLabel.Text = "Failed in merging the DTBs"; } }//m_bgWorker_RunWorkerCompleted