Я пытаюсь добиться этого:
У меня есть основная форма, когда пользователь нажимает на красный крестик в правом верхнем углу, чтобы выйти из приложения, появляется всплывающая форма, показывающая, что приложение обновляет / сохраняет информацию. После того, как фоновый работник в форме индикатора выполнения закрывается, он закрывает форму индикатора выполнения и также закрывает основную форму.
проблема у меня заключается в том, что он сначала закрывает основной, даже не работая в фоновом режиме. как это исправить? я попытался использовать e.cancel = true, он просто дал мой мертвый цикл.
вот моя основная форма:
private static void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
UpdatingForm pbar = new UpdatingForm ();
pbar.Show();
}
в моей форме обновления:
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();
}