2009-05-11 16 views
5

Quiero usar un formulario de ganar en C# y mostrar su contenido o el formulario completo en un panel utilizado en otra forma.¿Podemos usar un panel de algún winform de otro winform en C#?

Digamos que tengo una forma de A con un panel Panel_of_A y una forma B con un panel Panel_of_B

Quiero mostrar el contenido de Panel_of_A en Panel_of_B o puede decir quiero usar Panel_of_A en otra forma.

O puede proporcionar ayuda para la visualización de una forma dicen A en un panel sobre la forma B.

Esperanza hice u entender mis pensamientos ...

Respuesta

10

creo que una mejor manera de hacer esto es cree un Control de usuario que contenga ese panel y (re) utilícelo en ambos formularios.

Aquí es una tutorial how to create User Controls on MSDN.

+0

+1: Se puso en justo antes que yo, dedos mudos lentos. . . –

1

Sugeriría definir el panel que desea reutilizar como una clase separada, y colocar esto en ambos formularios. Si necesita que los datos mostrados sean los mismos también, vincule a un objeto comercial que pueda pasarse entre los formularios.

4

Crear un control de usuario que contiene la lógica que desea replicar, entonces incude el nuevo control de usuario en ambos lugares.

+0

+1 para la respuesta correcta y su comentario sobre mi respuesta. ;-) – splattne

2

¿Cómo es esto para mostrar una instancia de FormA dentro de un panel en FormB? El UserControl es probablemente la mejor manera de hacerlo, pero lo que usted solicitó es posible.

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(); 
+0

Este hombre no funcionó: $ Lo probé. – Mobin

+0

¿Cuál fue el problema? Hice una prueba rápida cuando publiqué la respuesta y funcionó para mí. – xyz

0

Dependiendo del tamaño y la escala de su aplicación, es posible que desee considerar la (gratis) Composite UI Application Block

De la propaganda:

Proporciona prácticas de construir elegante complejo interfaces de usuario de cliente basado en bien conocidos patrones de diseño tales como el patrón compuesto, en que simples piezas de interfaz de usuario puede pueden combinar para crear complejos soluciones, pero al mismo tiempo permitiendo que estas partes sean desarrollado independientemente, probado y desplegada.