使用工具:Windows Forms ActiveX Control Importer (Aximp.exe) Aximp可以将ActiveX 控件的 COM 类型库中的类型定义转换为 Windows 窗体控件。
Windows窗体只能加载Windows窗体控件--继承自Control的控件。Aximp生成可承载于Windows窗体的Active控件包装类。这使您得以使用可应用于其他 Windows 窗体控件的同一设计时支持和编程方法论。
为了承载ActiveX控件,必须生成一个继承自AxHost的包装类。此控件包含基础 ActiveX 控件的一个实例。它知道如何与 ActiveX 控件通信,但它属于Windows 窗体控件。这个生成的控件承载 ActiveX 控件并将其属性、方法和事件公开为生成控件的属性、方法和事件。
使用方法
<!-- lang: shell -->
aximp [options]{file.dll | file.ocx}
options: /out:filename - 指定生成文件的文件名<br> /source - 生成Windows窗体控件包装类的C#源代码
示例:
<!-- lang: shell -->
E:\develop\Microsoft Visual Studio 10.0\VC>aximp C:\Users\admin\Desktop\test.ocx /out:d:\test.dll /source
创建WindowsForm项目,添加上一步生成的两个dll文件,调用代码如下:
<!-- lang: c# -->
AxTextLib.Test ctrl = new AxTextLib.Test();
ctrl.CreateControl();
ctrl.Say("Hello~");
C#中调用OCX控件<br> Windows Forms ActiveX Control Importer (Aximp.exe) - MSDN