I have a a class for handling a socket comunication. It generates an event on message arrival.
On a windows form I use that class and register the event.
On the event handling routine I have to use thread sincronization to be able to update the forms controls witch is very anoying.
SendOrPostCallback callback = delegate(object state)