У меня есть следующий код в моем рабочем потоке (ImageListView ниже выводится из Control):
if (mImageListView != null && 
    mImageListView.IsHandleCreated &&
    !mImageListView.IsDisposed)
{
    if (mImageListView.InvokeRequired)
        mImageListView.Invoke(
            new RefreshDelegateInternal(mImageListView.RefreshInternal));
    else
        mImageListView.RefreshInternal();
}
Однако иногда я получаю ObjectDisposedException с помощью метода Invoke выше. Похоже, что управление можно установить между проверкой времени IsDisposed, и я вызываю Invoke. Как я могу избежать этого?