System.Windows.Threading.Dispatcher and WinForms?
You can use Dispatcher even in a WinForms app. If you are sure to be on a UI thread (e.g. in an button.Click handler), Dispatcher.CurrentDispatcher gives you the UI thread dispatcher that you can later use to dispatch from background threads to the UI thread as usual.