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