Когда DoWork
завершится, RunWorkerCompleted
будет вызвано в потоке, который запустил BackgroundWorker
. Допустим, это основной поток. Это означает, что он отправит сообщение в очередь сообщений основного потока. Если основной поток в настоящее время обрабатывает сообщение (например, событие Button.Click), то RunWorkerCompleted
будет находиться в очереди сообщений потока, пока не придет его очередь. Значение: он не будет прерывать / сталкиваться с обработчиком события кнопки.