Мне кажется, у меня есть потенциальная проблема с многопоточностью. У меня есть пользовательский элемент управления, который содержит следующий код:
private void btnVerify_Click(object sender, EventArgs e)
{
if (!backgroundWorkerVerify.IsBusy)
{
backgroundWorkerVerify.RunWorkerAsync();
}
}
private void backgroundWorkerVerify_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
VerifyAppointments();
}
private void backgroundWorkerVerify_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
MessageBox.Show("Information was Verified.", "Verify",
MessageBoxButtons.OK, MessageBoxIcon.Information);
CloseEvent();
}
ванильный код. но проблема, с которой я сталкиваюсь, заключается в том, что, когда приложение работает и пользователи переходят на другое приложение, когда они возвращаются ко мне, приложение зависает, у них появляется пустой экран, и они должны его убить. Это началось, когда я положил код потоков. Могу ли я иметь какие-то мошеннические темы там? Каков наилучший способ обнулить в потоке проблемы? Проблема не может быть воссоздана на моей машине ... Я знаю, что я что-то упускаю из-за того, как правильно избавиться от фонового работника. Любые мысли приветствуются, спасибо,
Jose