My form uses MessageQueue.BeginPeek to look for messages on the queue. When one is found, and .PeekCompleted gets raised, I want to raise an event. Due to other objects registered with the event, I need to raise the event on the main thread.

Is there a proper way to do this? Right now I call a method using Form.Invoke. The method simply raises the event. Just doesn't seem right to me.

Thanks,
Mike