The simpliest answer is, "just raise the event on the current thread." It is up to the form to handle the events then perform any updates on the form's thread using Control.Invoke.
Here is the recommended way to update a Label control called __message from another thread.
Add the following code to the form.
Delegate Sub SetTextDelegate(ByVal message As String)
Public Sub SetText(ByVal message As String)
If __message.InvokeRequired Then
Dim oCall As New SetTextDelegate(AddressOf SetText)
Me.Invoke(oCall, New Object() {message})
Else
__message.Text = message
End If
End Sub
Then call form.SetText(<messageToDisplay>) where needed.
You can either use the Control.Invoke or Control.BeginInvoke methods. See Control.InvokeRequired Property for more information.