I'm taking an online course about Developing Smart documents and one of the modules is on Developing DLL-based smart documents (with Visual Studio)
While obviously you have access to all of the core UI components (text boxes, lists, etc), one comment struck me:
If none of the built-in controls match your requirements, use an ActiveX one. Bear in mind that ActiveX controls written in .Net framework langauges are NOT (emphasis mine) directly supported and it is recommended that you use COM-based ActiveX controls.
Sigh - the more things change, the more they stay the same....