Curious about the implementation of Control.Invoke() <p>What exactly does Control.Invoke(Delegate) do to get the delegate to run on the GUI thread? Furthermore, Its my understanding that invoke will block until the invoked function its done. How does it achieve this?</p> <p>I would like some good gritty details. I'm hoping to learn something interesting.</p>