В файле .ocx нет ничего особенного, это просто DLL. Microsoft придумала это расширение имени файла еще в версии Visual Basic 4 дня, чтобы сделать очевидным для программистов VB, что у них есть DLL, которая содержит элементы управления. Элементы управления ActiveX в отличие от элементов управления VBX с 16-битных дней.
Если вы сделали сборку .NET [ComVisible], то у вас уже есть COM-сервер, который можно использовать в других проектах. Если вы зарегистрировали его правильно, сборки .NET должны быть зарегистрированы в Regasm.exe вместо Regsvr32.exe. Совершается автоматически в .NET-проекте с помощью Project + Properties, вкладки Build, опции «Зарегистрироваться для взаимодействия COM». И во время установки с проектом установки и развертывания. Если вам нужна библиотека типов, используйте Regasm.exe с параметрами / tlb и / codebase. Или Tlbexp.exe
Если это действительно должен быть традиционный .ocx, другими словами, иметь элементы управления, тогда вы можете использовать Winforms UserControl или ваш собственный класс, полученный из элемента управления Winforms. Winforms автоматически реализуют систему соединений, чтобы классы, производные от класса Control, правильно выполнялись на хосте ActiveX.