Abrir formulario en MDI
Código genérico para incluir en un formulario MDI que permite abrir los formularios secundarios.
private void abrirFormulario(Form formularioParaAbrir)
{
int i = 0;
bool encontrado = false;
object objFrm = null;
try
{
if (this.ActiveMdiChild == null)
objFrm = Activator.CreateInstance(formularioParaAbrir.GetType());
else
{
while (i < this.MdiChildren.Length && !encontrado)
{
if (this.MdiChildren[i].GetType().Equals(formularioParaAbrir.GetType()))
{
this.MdiChildren[i].BringToFront();
encontrado = true;
}
i += 1;
}
if (!encontrado)
objFrm = Activator.CreateInstance(formularioParaAbrir.GetType());
}
if (!encontrado)
{
((Form)objFrm).MdiParent = this;
((Form)objFrm).Show();
}
}
catch (Exception)
{
MessageBox.Show("Error al cargar el formulario", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
//Código para abrir el formulario.
abrirFormulario(new NombreFormulario());
//Si el formulario se encuentra en otra carpeta de la principal del proyecto.
abrirFormulario(new nombreCarpeta.NombreFormulario());

Comentarios recientes