/// <summary> /// Devuelve verdadero si se ha encontrado una ventana hija abierta con el criterio establecido. /// </summary> public bool comprobarVentanaAbierta(string criterio, buscarVentanaPor opcion) { if (opcion == buscarVentanaPor.nombre) { foreach (Form hijo in Application.OpenForms) if (hijo.Name == criterio) return true; } else if (opcion == buscarVentanaPor.tipo) { foreach (Form hijo in Application.OpenForms) if (hijo.GetType().Name == criterio) return true; } else if (opcion == buscarVentanaPor.titulo) { foreach (Form hijo in Application.OpenForms) if (hijo.Text == criterio) return true; } return false; }
/// <summary> /// Cierra todas las ventanas según el criterio y el filtro, si el filtro es por nombre se cerrará /// una sola ventana. /// </summary> public void cerrarVentanaHija(string criterio, buscarVentanaPor opcion) { if (opcion == buscarVentanaPor.nombre) { for (int c = Application.OpenForms.Count - 1; c >= 0; c--) if (Application.OpenForms[c].Name == criterio) { Application.OpenForms[c].Close(); return; } } else if (opcion == buscarVentanaPor.tipo) { for (int c = Application.OpenForms.Count - 1; c >= 0; c--) if (Application.OpenForms[c].GetType().Name == criterio) Application.OpenForms[c].Close(); } else if (opcion == buscarVentanaPor.titulo) { for (int c = Application.OpenForms.Count - 1; c >= 0; c--) if (Application.OpenForms[c].Text == criterio) Application.OpenForms[c].Close(); } }