Tengo un formulario principal y me gusta abrir un formulario secundario dentro del formulario principal.¿Cómo abrir un formulario dentro de un formulario?
se puede hacer esto? En caso afirmativo, responda con código de muestra.
Gracias!
Tengo un formulario principal y me gusta abrir un formulario secundario dentro del formulario principal.¿Cómo abrir un formulario dentro de un formulario?
se puede hacer esto? En caso afirmativo, responda con código de muestra.
Gracias!
siguiente es el código para hacer lo que quiere:
Supongamos que el botón 1 se encuentra en el formulario principal.
private void button1_Click(object sender, EventArgs e)
{
this.IsMdiContainer = true;
Form Form2 = new Form();
Form2.MdiParent = this;
Form2.Show();
}
También el siguiente enlace le proporcionará más detalles mejor de lo que quiere hacer:
http://www.codeproject.com/KB/cs/mdiformstutorial.aspx
Espero que esto ayude ...
informe al formulario hijo que su MdiParent es la forma actual.
MDI:
form2 frm = new form2();
frm.MdiParent = this;
frm.Show();
de diálogo modal:
var form = new Form1();
form.Parent = this;
form.ShowDialog();
MDI niño:
var newMDIChild = new Form1();
newMDIChild.MdiParent = this;
newMDIChild.Show();
Para el diálogo modal, recibí un error en form.Parent = this, pero pude hacer form.ShowDialog (this) –
Depende de lo que entendemos por "dentro de la forma". Si necesita que se muestre el formulario hijo como control del formulario principal, supongo que podría intentar ParentForm.Controls.Add(new ChildForm())
. O tal vez incluso coloque el formulario hijo en un contenedor existente en el formulario principal usando nuevamente la colección Controls
del control contenedor.
HTH
+1 por considerar la frase 'dentro del formulario' –
Form child = new Form();
child.MdiParent = this;
child.Show();
Escribir estas líneas de código en la forma de los padres y de verificación.
observo que todas las respuestas Supongamos que el OP tiene la intención de utilizar la arquitectura de Formulario MDI, aunque eso nunca se menciona explícitamente.
Y hay otra manera en que un Formulario puede convertirse en un 'Niño' de otro Formulario: simplemente estableciendo su 'Propiedad de Nivel Superior' en 'Falso, y luego estableciendo su' Propiedad Principal en el otro Formulario.
Form2 f2 = new Form2();
f2.TopLevel = false;
f2.Parent = someOtherForm;
f2.Show();
Por cierto Creo que toda la idea de 'formas dentro de las formas' es una mala idea, y MDI arquitectura es ahora, con razón, en desuso por la EM.
Mucho mejor, creo, para hacer formas secundarias 'propiedad, y si debe tener otros recipientes dentro de un formulario, UserControls uso, paneles, etc.
esta es una buena respuesta, especialmente cuando alguien está trabajando para mostrar y ocultar controles de panel múltiple. ¡Me gustó esto! – CodeIt
var childform = new form2();
childform.TopLevel=false;
this.Controls.add(childform);
childform.Show();
Esto funciona para mí.
¿Quiere decir simplemente abriendo el formulario secundario usando childform.ShowDialog() o añadiendo o colocando un formulario en el formulario primario ???? –
@dia Me gusta colocar childform dentro del formulario principal. Si se puede hacer, responda con el código de muestra. – cmthakur
Agregué la respuesta a su requerimiento .... –