http://www.codeproject.com/cs/miscctrl/exposingdotnetcontrols.asp
http://www.c-sharpcorner.com/UploadFile/dsandor/ActiveXInNet11102005040748AM/ActiveXInNet.aspx
UserControl is not enough sometimes.
Sometimes you need to Expose a Form to ActiveX. Just don't forget to set it's TopLevel to false.
And it seems that a Form as MDI Container can't be exposed to ActiveX.Be aware of this if you want to expose your application to ActiveX.
Ok, you get through happily, and you should distribute you activex control now. Generate a cab file and put it on you web-server? No.
You have to do some ugly thing before it works. God will get very angry with this.
http://edndoc.esri.com/arcobjects/9.2/NET/9826f81b-278c-49cc-a912-ab8d86f5e91e.htm
http://blogs.msdn.com/robmen/archive/2004/04/28/122491.aspx
http://www.clarionmag.com/cmag/v7/v7n08dotnetinterop1.html
Finally, some one has contribute his work:
http://www.codeproject.com/KB/cs/CreateActiveXDotNet.aspx