私は .NET デスクトップ ベースの開発は初めてなので、些細なことが抜けている場合はご容赦ください。
ユーザーがボタンをクリックすると、ユーザーがいくつかのファイルを選択できるダイアログフォームが開き、ファイルを選択した後、ユーザーがこのフォームの [プロセス] ボタンをクリックして長いプロセスを開始するメインフォームがあります。ボタンをクリックすると、このフォームが非表示になり、バックグラウンドワーカーが開始され、別のダイアログが表示されて、アニメーション化された進行状況バーの画像が表示されます。私が直面している問題は、ユーザーが [プロセス] ボタンをクリックすると、フォームが非表示になり、プログレス バー ダイアログが表示されるが、メイン フォームが最小化されることです。その中で私を助けることができる体はありますか?メインフォームを最小化したくありません。
ファイルが選択されているダイアログの私のコードは次のとおりです。
frmProgressbar progressDialog = null;
private void btnProcess_Click(object sender, EventArgs e)
{
this.Hide();
progressDialog = new frmProgressbar();
worker = new BackgroundWorker();
worker.WorkerReportsProgress = true;
worker.WorkerSupportsCancellation = true;
worker.DoWork += new System.ComponentModel.DoWorkEventHandler(worker_DoWork);
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
worker_RunWorkerCompleted);
worker.RunWorkerAsync();
progressDialog.ShowDialog();
}
void worker_DoWork(object sender, DoWorkEventArgs e)
{
// Do the lengthy work
}
void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
progressDialog.Close();
}