【发布时间】:2019-06-17 04:09:30
【问题描述】:
我正在升级 Windows 窗体应用程序。该应用程序使用活动 x 控件 (ocx) 文件。我们已经让ocx编译并可以注册它。 C++ active x 控件项目中的主要类是 COleControlModule。当我像这样将控件添加到 Windows 窗体应用程序时
Me.Controls.Add(Me.ActiveXClass)
我明白了
Unable to cast COM object of type 'System.__ComObject' to class type
'System.Windows.Forms.Control'.
我知道活动的 x 类是一个 com 对象,并且我知道这个 COleControlModule 类不能与 Windows 窗体控件兼容。我能做些什么来完成这项工作吗?
非常感谢任何帮助。
【问题讨论】:
-
使用 Aximp.exe 围绕 ActiveX 控件生成 Windows 窗体控件包装。在 Visual Studio WinForms 应用程序中,您可以通过在解决方案管理器的项目引用中添加对 ActiveX 控件的引用来自动完成此操作。
-
它需要一个 AxHost 才能找到一个幸福的家。最简单的生成方法是先将其添加到工具箱中。右键单击 > 选择项目 > 浏览选项卡。
-
@R.J.Dunnill 如果你写了这个+几个步骤在你的答案中做什么,它可能会更受欢迎。
-
@πάντα ῥεῖ 答案已删除。
-
@R.J.Dunnill 是的,知道(我可以看到您删除的答案)。您仍然可以编辑以改进它,并取消删除它。