Hi, I'm trying to write an IRC client (yeah, another one), and I've written a component that creates a thread that polls a socket for new information, parses new lines, and calls associated events (for example, an OnJoin delegate is called when a room is joined).
My problem is, I want a new form to be created when a room is joined, but every method I've tried for doing so creates either a modal form (not the desired type), or a form that freezes after it opens. So I guess my question is, what's the best way to open a responsive form from another thread? Is it possible? Is there a better approach? Any input would be appreciated.
I have tried researching other C# IRC components/clients, but they all work as I have described above. Most clients seem to have been written before updating the GUI from a separate thread became "illegal," and so no Invoke/BeginInvoke commands are illegal.
Thanks in advance for any help.