Как встроить форму в другую форму в C #? - PullRequest
0 голосов
/ 30 июля 2011

На интернет-странице есть постоянное меню, обычно размещаемое в верхней или левой части страницы, с которой пользователь может перемещаться (они называют это Iframes) ..

Я хотел бы знать, если этоможно сделать что-то подобное, используя приложения WinForm или WPF в c #.

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

Есть предложения здесь?

Ответы [ 4 ]

1 голос
/ 02 августа 2011

Мне удалось использовать usercontrol для встраивания формы в другую.

Form1 имеет userControl, Form2 встроен в пользовательский элемент управления.

что следует отметить ... свойство верхнего уровня встроенных форм должно быть установлено в false, встроенные формы FormBorderStyle должно быть установлено в none

userControl1.Controls.Clear();
Form2 f = new Form2();
f.Toplevel=flase;
f.Show();
f.TopLevel = false;
userControl1.Controls.Add(f);
1 голос
/ 30 июля 2011

Вы имеете в виду приложение MDI (http://www.codeproject.com/KB/cs/myBestMDI.aspx) или просто использование SplitContainer в форме? Действительно, есть много вариантов. У WPF есть ElementHost, я думаю. Вы уже проводили какие-либо исследования? Что вы нашли?

Вы также можете использовать подход панели инструментов. Пусть родительская программа запустит форму меню, а затем другие формы смогут использовать ее ... или запустить из нее ... каков бы ни был ваш вариант использования.

1 голос
/ 30 июля 2011

Вы можете использовать MDI-контейнер в WinForms. см. здесь и здесь для получения дополнительной информации.

0 голосов
/ 30 июля 2011

Ну, в WPF должен быть компонент frame, который предоставит вам такую ​​возможность. Тогда вы бы использовали концепцию «просмотра», чтобы открыть страницы WPF, на которые вы направляете пользователя.

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