Можете ли вы загрузить .Net форму в качестве элемента управления? - PullRequest
6 голосов
/ 09 сентября 2008

Я хочу загрузить настольное приложение с помощью отражения как элемент управления внутри другого приложения.

Приложение, которое я рассматриваю, является устаревшим - я не могу внести в него изменения.

Я могу динамически получить доступ к Форме, но не могу загрузить ее как элемент управления.

В .Net Form расширяется элемент управления, и я могу назначить отраженную форму как элемент управления, но она вызывает исключение времени выполнения.

Формы не могут быть загружены в качестве элементов управления.

Есть ли способ преобразовать форму в элемент управления?

Ответы [ 3 ]

10 голосов
/ 09 сентября 2008

Да, это работает просто отлично. Сейчас я работаю над приложением .NET, которое загружает формы в панель на хост-форме.

Соответствующий фрагмент:

// setup the new form
form.TopLevel = false;
form.FormBorderStyle = FormBorderStyle.None;
form.Dock = DockStyle.Fill;
form.Show ( );

// add to the panel's list of child controls
panelFormHost.Controls.Add ( form );
1 голос
/ 09 сентября 2008

Какое исключение вы получаете? Возможно ли, что сам элемент управления дает исключение (против структуры)? Возможно, в исходных приложениях вызывается что-то, что не вызывается основной функцией?

1 голос
/ 09 сентября 2008

Вы сможете добавить форму в коллекцию элементов управления родительской формы ...

Смотрите здесь: http://vbcity.com/forums/topic.asp?tid=30539

Если это не помогло, попробуйте использовать шаблон адаптера для создания контейнера с устаревшей формой внутри него, а затем, возможно, загрузить его в MDI?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...