Me respondo, por si a alguien le sirve.
Para hacer esto, con el mismo código, se le debe entregar al nuevo mdichild el parent del mdichild ya abierto, de manera que sea el "padre" del nuevo "hijo" que se abrirá.
Y poner el código en el botón que llame al nuevo hijo que se quiere mostrar.
Código C#:
Ver originalprivate void antecedentesMédicosToolStripMenuItem_Click(object sender, EventArgs e)
{
Controles.AntecedentesMedicos am = null;
//Barremos las formas que hay en el parent para encontrar la referencia
foreach (Form f in this.MdiChildren)
{
if (f is Controles.AntecedentesMedicos)
{
am = (Controles.AntecedentesMedicos)f;
break;
}
}
//Si la encontró ya no necesita la instancia solo la mostramos
if (am != null)
{
am.Show();
am.Focus();
}
else
{
//No se ha creado por lo tanto generamos la instancia
am = new Controles.AntecedentesMedicos();
am.MdiParent = this.MdiParent; //<-- Esto es todo lo que hay que arreglar...
am.Show();
am.Focus();
}
}
Saludos!