setparent在vb .net表单中放置vb6表单时无法正常工作

时间:2013-10-24 15:51:53

标签: .net vb.net vb6 interop vb6-migration

我有一个大的vb6应用程序,我变成了一个DLL,所以我可以从vb .net运行它。当我运行vb6&调试中的.net项目一切正常。如果我以非模态方式打开表单,一切都会正常运行。

然而,当我将vb6编译成dll时,当我以模态方式打开它们时,vb6表单没有放在.Net容器表单中(非模态是正常的)。 vb6表单位于屏幕的左上角。

我根据Eduardo Campano的article on codeproject提出了这个解决方案,从2007年7月开始在.Net应用程序中嵌入vb6表单。如果你有一百万行代码可以转换为很好的文章和好主意。网像我一样。

我有示例代码,但看不到如何将其上传到论坛。

将vb6加载到容器中的代码来自.net:

中的容器加载事件
 SetParent(mintFormHandle, Me.Handle.ToInt32)
 SendMessage(Me.Handle.ToInt32, WM_NCACTIVATE, 1, 0)
 SetForegroundWindow(Me.Handle.ToInt32)
 LockWindowUpdate(0)

0 个答案:

没有答案