winx中的activex

时间:2010-02-03 19:25:10

标签: winforms com activex typelib

我需要在我的.Net WinForm中加入一些activeX。 提供商给我发了一个.tlb和com .dll。

这够了吗? 我怎么把它放在winform上?

2 个答案:

答案 0 :(得分:2)

这应该足够了。您需要在您的机器上注册该dll,将其添加到开发工作室工具箱(右键单击工具箱/选择项目)并转到COM选项卡,如果您在那里找不到它,您可以浏览到具体位置并选择要使用的类型库。

之后,您只需将新控件拖到表单中即可。对库的引用将自动添加到您的项目中。

请参阅“Adding ActiveX Controls to Windows Forms

答案 1 :(得分:1)

我在Visual Studio 2010和MFC应用程序(而不是Winform)中遇到了类似的问题(类似于此评论activex in winform中描述的问题)。

我有my.ocx文件并且我使用regsvr32正确注册了但是我得到了“my.ocx的自我注册失败”。

此链接http://www.codeproject.com/Questions/262206/ActiveX-Problem-Unspecified-Error为我提供了一些相关信息。我引用它:

  

您好我已经做了一些关于注册ActiveX控件的研究   在这个领域的库我发现如果正在开发ActiveX   控制64位操作Syatem和64位应用程序然后在此   我们必须为64位和32位注册这个activeX控件   64位System32文件夹中的操作系统64位ActiveX控件   操作系统32位ActiveX控件在SysWOW64文件夹中为64位   操作系统,       为此,我们必须在MFC x64和Win32两个版本中生成两个版本的ActiveX控件       Thankx

我在注册表中找到了密钥HKEY_CLASSES_ROOT\TypeLib\{myocx_typelib_id}\1.0\0\,我找到了两个密钥win64win32win64指向正确的ocx文件,而win32指向错误的ocx文件(在我的情况下,typelib嵌入在ocx文件中)。我更正了注册表并解决了“my.ocx自我注册失败”的问题。在我的例子中,我有两个不同的my.ocx文件,第一个用于win32,第二个用于win64。