Хорошо, есть много вопросов по этой ошибке, но я не могу найти решение для моей проблемы.У меня есть поток, который загружает элемент управления из базы данных во время длительной работы.Если я закрываю свое окно до завершения этого потока, он выдает Invoke or BeginInvoke cannot be called on a control until the window handle has been created.
, когда Invoke
Я изменил код так, чтобы он выглядел следующим образом:
If Not Me.IsDisposed And Me.Created And Me.IsHandleCreated Then '
Me.Invoke(New AddImageDelegate(AddressOf AddImage), item.PartNo, New Bitmap(item.ImagePath))
Me.Invoke(New SetImageDelegate(AddressOf SetImage), I, item.PartNo)
End If
Однако он все равно попадает в строку Invoke
и выдает ошибку.Когда отладка останавливается на исключении, IsDisposed
- это истина, .Created
- это ложь, а .IsHandleCreated
- это ложь.Поэтому проверка этих свойств не помогает.
Итак ... как мне предотвратить запуск строки вызова в этой ситуации?