在应用程序中,如何在c#窗体和vb6.0窗体之间进行通信或调用?

在应用程序中,如何在c#窗体和vb6.0窗体之间进行通信或调用?,c#,vb6,C#,Vb6,我创建了一个c#mdi形式的应用程序,它可以动态调用vb6 dll。而且vb6 dll有几百个以上。 如何在c#窗体和vb6窗体之间进行通信或调用?您可以使用,只要它注册为COM COM互操作提供对现有COM组件的访问,而无需修改原始组件。如果要将COM代码合并到托管应用程序中,请使用COM互操作实用程序(TlbImp.exe)导入相关COM类型。一旦导入,COM类型就可以使用了。 此外,COM互操作允许COM开发人员像访问其他COM对象一样轻松地访问托管对象。同样,COM互操作提供了一个专用实

我创建了一个c#mdi形式的应用程序,它可以动态调用vb6 dll。而且vb6 dll有几百个以上。
如何在c#窗体和vb6窗体之间进行通信或调用?

您可以使用,只要它注册为COM

COM互操作提供对现有COM组件的访问,而无需修改原始组件。如果要将COM代码合并到托管应用程序中,请使用COM互操作实用程序(TlbImp.exe)导入相关COM类型。一旦导入,COM类型就可以使用了。 此外,COM互操作允许COM开发人员像访问其他COM对象一样轻松地访问托管对象。同样,COM互操作提供了一个专用实用程序(RegAsm.exe),它将托管类型导出到类型库中,并将托管组件注册为传统COM组件。 在运行时,公共语言运行库根据需要在COM对象和托管对象之间封送数据


我在将一个非常大的VB6应用程序分阶段移植到C#时做到了这一点,并且可以确认它甚至可以用于复杂的应用程序。

它适合C#mdi表单调用VB6.0表单?和vb6.0窗体调用父mdi窗体中的其他窗体。c#窗体的buttnon调用vb6.0窗体的控件(文本框或按钮事件)。我没有专门处理MDI窗体,但我们成功地将vb6窗体和WinForms混合使用。创建一个小的概念验证项目并进行尝试。您能告诉我vb6和c#的代码已经被相互调用了吗?