Quiero evitar que mi formulario hijo aparezca muchas veces cuando un usuario intenta abrir el formulario secundario que ya está abierto en MDIParent. Una forma de evitar esto es desactivando el Controlador (en mi caso, BUTTON), pero he dado una tecla de acceso directo (Ctrl + L) para esta función también. Por lo tanto, si el usuario escribe Ctrl + L, se abre el mismo formulario secundario y puedo ver que hay dos formularios secundarios en MDI.Cómo evitar el formulario Multiple Child mostrado en MDIParent C# Win Forms
private void leadsToolStripMenuItem_Click(object sender, EventArgs e)
{
frmWebLeads formWeblead = new frmWebLeads();
formWeblead.MdiParent = this;
formWeblead.WindowState = System.Windows.Forms.FormWindowState.Maximized;
formWeblead.Show();
}
Quiero evitar esto. ¿Cómo puedo hacer esto?
En la imagen se puede ver que una forma de niño Nombre línea Conductores de se abre dos veces como el usuario abre por primera vez utilizando los menús (derivaciones) y la segunda vez con la tecla de acceso directo. No quiero que esto suceda. Si el formulario ya está abierto, debería evitar abrir otro formulario ... ¿Cómo hacer esto?
@ Mike Caron gracias por su Código. La última parte la dejaste para mí creando cierta confusión, tengo dudas de que la forma declarada Weblead en MDIParent y estoy pensando en configurar formWeblead = null usando frmWebLoad dejando Evento usando acceso de Hijos a padres, ¿está bien? ??? o hay algún mejor método disponible – panindra
No creo que use el evento Leaving, ya que eso es algo que se enfoca. En cambio, usa el evento Closing del formulario secundario, que se activa cuando lo cierras. –
@Mike Esto deja TODO con respecto al elemento del menú que llama al evento click; Me gusta desactivar el elemento del menú que creó el formulario para evitar confusiones para el usuario, p. "Hago clic en 'abrir' y no pasa nada". – gangelo