我將一箇舊的VB6應用程序移植到.Net中,但在此版本中,一個Vb6表單太大而無法遷移。在.Net MDI中包含VB6表單
I Shell Vb6 exe從.Net顯示VB6表單,但VB6表單不包含在.Net MDI中。我有一個直覺,它不可能嵌入在.NET MDI VB6的形式,有誰知道這是可能的嗎?
我像Interop Forms Toolkit 2.1甚至是API
我將一箇舊的VB6應用程序移植到.Net中,但在此版本中,一個Vb6表單太大而無法遷移。在.Net MDI中包含VB6表單
I Shell Vb6 exe從.Net顯示VB6表單,但VB6表單不包含在.Net MDI中。我有一個直覺,它不可能嵌入在.NET MDI VB6的形式,有誰知道這是可能的嗎?
我像Interop Forms Toolkit 2.1甚至是API
這確實是可能的。這只是既不簡單,也不是特別的好主意......
你需要創建一個表單,然後你就可以嵌入VB 6的形式爲ActiveX容器。有關詳細信息,請參閱CodeProject上的此文章:Embedding of VB6 form in .NET applications
另一種可能的(並且更簡單的方法)可能是將VB 6窗體的父級設置爲.NET MDI容器。我不確定這是否會奏效(我從來沒有嘗試過),但它值得一試。您需要P/Invoke FindWindow
function以獲取VB 6表單窗口的句柄以及SetParent
function以更改其父窗口。
對不起我後,我張貼過不久,這裏的解決方案:
我同意科迪說它不是一個好主意。我將繼續對VB6 exe進行炮擊 - 因此業務知道我們還有更多工作要做! – 2011-02-10 21:47:50