Содержат форму VB6 в MDI .Net - PullRequest
2 голосов
/ 10 февраля 2011

Я портирую старое приложение VB6 в .Net, но одна форма Vb6 слишком велика для переноса в этом выпуске.

I Оболочка exe Vb6, чтобы показать форму VB6 из .Net, но форма VB6 не содержится в .Net MDI.У меня есть ощущение, что невозможно встроить форму VB6 в .NET MDI , кто-нибудь знает, возможно ли это?Инструментарий 2.1 или даже API

Ответы [ 2 ]

3 голосов
/ 10 февраля 2011

Это действительно возможно.Это не просто и не очень хорошая идея ...

Вам нужно создать контейнер ActiveX для формы, в который вы затем сможете встроить форму VB 6.См. Эту статью о CodeProject для получения более подробной информации: Встраивание формы VB6 в приложения .NET

Другой возможный (и значительно более простой подход) может быть установка родительского элемента формы VB 6 в качествеNET MDI контейнер.На самом деле я не уверен, сработает ли это (я никогда не пробовал), но это стоит попробовать.Вам потребуется P / Invoke для функции FindWindow , чтобы получить дескриптор окна формы VB 6, а также для функции SetParent для изменения родительского окна.

1 голос
/ 10 февраля 2011

Извините, я отправил слишком рано вот решение:

Встраивание формы VB6 в приложения .NET

...