Проверьте свойство BackgroundWorker.IsBusy .
Редактировать
Существуют различные варианты сделать эту информацию доступной для второй формы.
Вы можете передать BackgroundWorker в Form2 при создании. Затем Form2 может проверить свойство IsBusy
.
Вы можете создать публичное свойство IsRunningBackgroundWork
в Form1 и дать Form2 ссылку на Form1. Получатель этого свойства будет проверять BackgroundWorker.IsBusy
.
Вы можете создать открытое свойство CanSubmit
в Form2 и установить его из Form1 после завершения BackgroundWorker.
bgw.RunWorkerCompleted += (s, e) => form2.CanSubmit = true;
В качестве альтернативы (и я думаю, что это лучше), вы можете поместить код отправки в Form1 и просто использовать Form2 в качестве диалога. Тогда Form2 не нужно ничего знать о Form1. Form1 открывает Form2 модально, и когда Form2 закрывается, Form1 проверяет, закончен ли работник, и действует соответствующим образом.