メインスレッドがWindowsFomならControl.Invoke、WPFならDispatcherだっけか。
それ以外なら独自にメッセージポンプに近い仕掛けが必要。