我正在将一个旧的VB6应用程序移植到.Net中,但是在此版本中,一个Vb6形式太大而无法迁移.
我将Vb6 exe封装到.Net显示VB6格式,但VB6格式不包含在.Net MDI中.我有一种直觉,认为不可能将VB6格式嵌入.NET MDI中,是否有人知道这是否可行?
我喜欢Interop Forms Toolkit 2.1甚至API之类的东西
这确实是可能的.这既不简单,也不是特别好的主意……
原文链接:https://www.f2er.com/vb/255789.html您需要为表单创建一个ActiveX容器,然后可以将VB 6表单嵌入到该容器中.有关详细信息,请参阅CodeProject上的这篇文章:Embedding of VB6 form in .NET applications
另一种可能(并且更简单的方法)可能是将VB 6表单的父级设置为.NET MDI容器.我不确定这是否有效(我从未尝试过),但值得一试.您需要P / Invoke FindWindow
function来获取VB 6表单窗口的句柄,以及SetParent
function来更改其父窗口.