Можем ли мы использовать панель некоторой winform из другой winform в C #? - PullRequest
5 голосов
/ 11 мая 2009

Я хочу использовать win-форму в C # и отображать ее содержимое или всю форму на панели, используемой в другой форме.

Допустим, у меня есть форма A с панелью Panel_of_A и форма B с панелью Panel_of_B

Я хочу отобразить содержимое Panel_of_A в Panel_of_B или вы можете сказать, что я хочу использовать Panel_of_A в другой форме.

Или вы можете предоставить помощь для отображения формы, скажем, А, на панели формы В.

Надеюсь, я заставил тебя понять мои мысли ...

Ответы [ 5 ]

10 голосов
/ 11 мая 2009

Я думаю, что лучший способ сделать это - создать пользовательский элемент управления, содержащий эту панель, и (повторно) использовать его в обеих формах.

Вот учебник , как создавать пользовательские элементы управления на MSDN .

4 голосов
/ 11 мая 2009

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

2 голосов
/ 11 мая 2009

Как это для отображения экземпляра FormA внутри панели в FormB? UserControl - это, вероятно, лучший способ, но то, что вы просили, возможно.

fa = new FormA();
fa.TopLevel = false;
fa.FormBorderStyle = FormBorderStyle.None;
fa.Dock = DockStyle.Fill; 

fb = new FormB();
fb.panel1.Controls.Add(fa); // if panel1 was public

fa.Show();
fb.Show();
1 голос
/ 11 мая 2009

Я бы предложил определить панель, которую вы хотите использовать как отдельный класс, и поместить ее в обе формы. Если вам необходимо, чтобы отображаемые данные были такими же, привязайте их к бизнес-объекту, который можно передать между формами.

0 голосов
/ 11 мая 2009

В зависимости от размера и масштаба вашего приложения вы можете рассмотреть (бесплатный) Составной блок приложения UI

Из объявления:

Это обеспечивает проверенные методы для создания сложные интеллектуальные клиентские пользовательские интерфейсы основанный на хорошо известных шаблонах дизайна такие как составной шаблон, в какие простые части пользовательского интерфейса могут быть объединенным, чтобы создать комплекс решения, но в то же время позволяя этим частям быть независимо разработаны, испытаны и развертывается.

...