c# winforms subform

c# - Cómo cargar el formulario dentro del panel otra forma en la aplicación Win



winforms subform (4)

Como ya obtuvo la respuesta, eliminando this.IsMdiContainer = true; su código funcionaría perfectamente bien Debido a que la propiedad IsMdiContainer cambia la visualización y el comportamiento del formulario a un formulario primario MDI. Cuando esta propiedad se establece en true , el formulario muestra un área de cliente sumergida. Todos los formularios secundarios MDI asignados al formulario principal se muestran dentro de su área de cliente.

SubForm objForm= SubForm.InstanceForm(); objForm.TopLevel = false; pnlSubSystem.Controls.Add(objForm); objForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; objForm.Dock = DockStyle.Fill; objForm.Show();

formulario objForm que será la plantilla para los formularios secundarios. Cada vez que desee crear una nueva ventana secundaria para su aplicación, puede crear una nueva instancia de este formulario de plantilla y hacer el primer formulario como su formulario principal.

//Create a new instance of the MDI child template form SubForm objForm = new SubForm(); //Set parent form for the child window objForm.MdiParent=this; // Last ObjForm or something //Display the child window objForm.Show();

Creo una aplicación de Windows Forms con C #.

Tengo un formulario general y un panel en él.

Muestro subForm en este panel con código:

SubForm objForm= SubForm.InstanceForm(); this.IsMdiContainer = true; objForm.TopLevel = false; pnlSubSystem.Controls.Add(objForm); objForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; objForm.Dock = DockStyle.Fill; objForm.Show();

ahora quiero mostrar otra forma en la subforma de este panel, pero no sé cómo hacerlo.


Creo que tu problema se resolvió con este código:

SubForm objForm= SubForm.InstanceForm(); objForm.TopLevel = false; pnlSubSystem.Controls.Add(objForm); objForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; objForm.Dock = DockStyle.Fill; objForm.Show();


De otra manera:

objForm.TopLevel = false; objForm.Parent = pnlSubSystem; objForm.Show();

Esta es mi primera respuesta en .


Según tengo entendido, estás muy cerca. Para agregar otro formulario al subform pruebe el mismo código en su lugar:

pnlSubSystem.Controls.Add(objForm);

use (donde objForm2 es el nuevo subForm )

SubForm objForm2 = new SubForm(); objForm.Controls.Add(objForm2);