Когда у вас есть кнопка, и вы делаете что-то вроде:
Private Function Button_OnClick
Button.Enabled = False
[LONG OPERATION]
End Function
Тогда кнопка не будет серой, потому что длительная операция не позволяет потоку пользовательского интерфейса перерисовать элемент управления. Я знаю, что правильная конструкция - запуск фонового потока / диспетчера, но иногда это слишком сложно для простой операции.
Итак, как мне заставить кнопку перерисовываться в отключенном состоянии? Я попробовал .UpdateLayout () на кнопке, но это не дало никаких результатов. Я также попробовал System.Windows.Forms.DoEvents (), который обычно работает при использовании WinForms, но также не дал никакого эффекта.