我有一个大的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)