Immediately redraw GoNode

Maybe this question has no direct link to GoDiagram.

In multi-threading program, one of the threads changes some properties of GoNode, saying the background color. When using InvlidateViews() is used, the Node cannot be immediately refreshed unless other threads are idle.
So the question is how to make redraw immediately happen no matter how many other threads are running at the time?
GoView is a UserControl and embedded in a WinForm, which has its own thread. So in multi-threading program, if this WinForm thread has not got time slice, its content will not redrawn. Correct me if I'm wrong.
So the next problem seems how to make the WinForm thread active immediately when some properties of the GoNode are changed. Maybe this is not the correct way to solve this problem. But I hope some one can give me some hints or evern better solutions.

See if calling GoDocument.UpdateViews() works for you.

It causes each GoView displaying that document to call Update().
As with all GoDocument.Changed events, the GoView.OnDocumentChanged event handler is Control.Invoke'd when .InvokeRequired, so the Control calls happen in the proper thread.