我需要在我的.Net WinForm中加入一些activeX。 提供商给我发了一个.tlb和com .dll。
这够了吗? 我怎么把它放在winform上?
答案 0 :(得分:2)
这应该足够了。您需要在您的机器上注册该dll,将其添加到开发工作室工具箱(右键单击工具箱/选择项目)并转到COM选项卡,如果您在那里找不到它,您可以浏览到具体位置并选择要使用的类型库。
之后,您只需将新控件拖到表单中即可。对库的引用将自动添加到您的项目中。
答案 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\
,我找到了两个密钥win64
和win32
。 win64
指向正确的ocx文件,而win32
指向错误的ocx文件(在我的情况下,typelib嵌入在ocx文件中)。我更正了注册表并解决了“my.ocx自我注册失败”的问题。在我的例子中,我有两个不同的my.ocx文件,第一个用于win32,第二个用于win64。