Note:
this control uses sub classing,
it does this only when the first socket is loaded,
and unsubclass when the last socket is unloaded,
so it's quite safety to use it.
just remember one thing,
you should avoid load and unload a form with this socket dynamicly.
the best way is to load a form with the socket,
the first one on form_load
and unload it the last one, on form_unload.
if you have more forms with this socket,
you can freely load/unload them dynamicly
only the first form with this socket
should be loaded when the app starts
and unloaded when the app ends.