Instantiate and invoke a Web service or component.
Instantiate and invoke a COM or COM+ component.
Using ActiveX controls on a Windows form is a special case of a more general problem: using legacy COM code from a .NET application. You might already have a lot of development done in your organization that you would like to reuse with .NET development as you slowly migrate toward it. Fortunately, if your old programs use COM architecture, you don't have to do a “big bang” migration all at once. .NET components can call COM components, and COM components can call .NET components. This means that you can migrate one component (a control, a class library, and so on) at a time, and still keep all your code working together.