Why does Control.Invoke() calls PostMessage() instead of SendMessage()? <p><code>Control.Invoke()</code> calls <code>PostMessage()</code> and then waits until the UI thread finishes processing the message. So why it does not calls <code>SendMessage()</code> instead (which by default waits until the UI thread finishes processing the message).</p>