在.Net MDI中包含VB6表单

前端之家收集整理的这篇文章主要介绍了在.Net MDI中包含VB6表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将一个旧的VB6应用程序移植到.Net中,但是在此版本中,一个Vb6形式太大而无法迁移.

我将Vb6 exe封装到.Net显示VB6格式,但VB6格式不包含在.Net MDI中.我有一种直觉,认为不可能将VB6格式嵌入.NET MDI中,是否有人知道这是否可行?

我喜欢Interop Forms Toolkit 2.1甚至API之类的东西

这确实是可能的.这既不简单,也不是特别好的主意……

您需要为表单创建一个ActiveX容器,然后可以将VB 6表单嵌入到该容器中.有关详细信息,请参阅CodeProject上的这篇文章Embedding of VB6 form in .NET applications

另一种可能(并且更简单的方法)可能是将VB 6表单的父级设置为.NET MDI容器.我不确定这是否有效(我从未尝试过),但值得一试.您需要P / Invoke FindWindow function获取VB 6表单窗口的句柄,以及SetParent function来更改其父窗口.

猜你在找的VB相关文章