Принудительная перерисовка перед продолжительными операциями

Когда у вас есть кнопка, и сделайте что-то вроде:

Private Function Button_OnClick

    Button.Enabled = False

    [LONG OPERATION] 

End Function

Тогда кнопка не будет выделена серым цветом, поскольку длительная операция не позволяет потоку пользовательского интерфейса перерисовывать элемент управления. Я знаю, что правильный дизайн - запуск фонового потока / диспетчера, но иногда это слишком хлопотно для простой операции.

Так как же заставить кнопку перерисовать в отключенном состоянии? Я пытался .UpdateLayout () на кнопке, но это не имело никаких эффектов. Я также попробовал System.Windows.Forms.DoEvents (), которая обычно работает при использовании WinForms, но также не имела никакого эффекта.

Ответы на вопрос(3)

Ваш ответ на вопрос