Правильно, мое приложение время от времени запускает фоновый поток, который делает некоторые вещи.Основная нить, ожидающая на фоне потоков, которые обновляют интерфейс
Поскольку он выполняет свои функции, он также обновляет индикатор выполнения в главном окне. Он делает это, вызывая Invoke, чтобы получить основной поток для обновления интерфейса.
Когда пользователь закрывает приложение, я хочу дождаться завершения всех фоновых потоков перед закрытием формы. В форме закрытия события у меня есть что-то вроде
while (this._Queue.Count > 0)
Application.DoEvents();
Но это не работает!
Фоновая нить застревает в вызове Invoke. Основной поток продолжает вращаться вокруг вызова его DoEvents, который, как мне казалось, нужно будет делать, чтобы поднять и обработать его вызовы. Но это не делает это ...
Почему бы и нет!?!
Привет, , где вы поместите этот код в главном событии формы закрытия? С наилучшими пожеланиями, Iordan – IordanTanev
Да, это событие Main form form_closing. –