Parameters
- Synchronous
- if true, then the method issues a sychronous Invoke to the main thread and therefore does not return until the redraw has completed.
If called from the main thread, then this is equiavalent to base.Refresh()
If called synchronously fom another thread, then it waits for the redraw to complete, so be careful to avoid deadlocks
If called asynchronously fom another thread, then it simply issues a redraw request