VB Code:
Public Delegate Function MessageBoxShowHandler(ByVal test As String) As DialogResult
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim del As New MessageBoxShowHandler(AddressOf MessageBox.Show)
del.BeginInvoke("Thread 1 fired", Nothing, Nothing)
del.BeginInvoke("Thread 2 fired", Nothing, Nothing)
MessageBox.Show("Notice that the other messageboxes didn't stop execution of this thread since they are on their own thread.")
MessageBox.Show("I got held up because the last messagebox wasn't on a different thread.")
End Sub