我試圖做到這一點: 我有主要形式,當用戶點擊右上角的紅叉退出應用程序,它彈出一個進度條的形式顯示應用程序正在更新/保存信息。進度條窗體中的後臺工作完成後,它將關閉進度欄窗體並關閉主窗體。 我的問題是,它會關閉從第一主甚至沒有運行後臺工作。如何解決這個問題?我試圖使用e.cancel = true它只是給了我死循環。父窗體關閉調用子形式在其後臺工作
這裏是我的主要形式有:
private static void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
UpdatingForm pbar = new UpdatingForm();
pbar.Show();
}
在我updatingform
:
public UpdatingForm()
{
InitializeComponent();
bgWorker.RunWorkerAsync();
}
private void bgWorker_DoWork(object sender, DoWorkEventArgs e)
{
....
}
private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
this.Close();
// Application.Exit();
}
獲取進度條數,如果是100%做到,那麼其他人關閉它在形式上接近事件編寫必要的代碼 – Dotnet 2011-05-17 08:23:34