我新的基於.NET的桌面開發,所以請原諒我,如果我錯過了一些次要的事情減少。進度條對話框的主要形式
我有當用戶點擊一個按鈕在其上,一個對話框形式被打開,其中用戶可以選擇一些文件主要形式,選擇文件後,用戶點擊該表單上進程按鈕來啓動一個漫長的過程。 所以我做了什麼是單擊按鈕時,我躲在這種形式,並啓動一個BackgroundWorker也開始顯示另一個對話框,顯示動畫的進度條的圖像。 我面臨的問題是當用戶點擊Process按鈕時,窗體被隱藏並顯示進度條對話框,但主窗體被最小化。任何身體都可以幫助我嗎?我不希望主表單被最小化。
我其中文件被選擇的對話框的代碼如下:
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();
}
它沒有得到最小化。你調用Hide(),但是你忘記在RunWorkerCompleted事件處理程序中再次調用Show()。 –
上面的代碼是不是主要的形式,它是其中用戶正在選擇的文件的對話框,所以我打電話隱藏()來隱藏對話框不是主要的形式。 –