Управляемое событиями фонового работника не является дешевым хаком.
Однако, если вам все же нужно выполнить обновление самостоятельно, вам нужно использовать метод Control.Invoke
, чтобы присоединиться к потоку пользовательского интерфейса.чтобы сделать обновление.
В конечном итоге вы засоряете свой код if (control.InvokeRequired)
повсюду, и поэтому я бы посоветовал взглянуть на использование метода расширения, как подробно описано в другом посте:
Очистка кода, засоренного InvokeRequired