Cerrar todos los formularios activos

¿Sabrías cómo podría cerrar todos los formularios activos de una aplicación sin cerrar la aplicación?

4 respuestas

Respuesta
1
La colección Forms contiene una relación de todos los formularios cargados (visibles y no visibles). El elemento Forms(0) es el formulario principal, el resto de elementos los formularios hijos abiertos a partir de este. El código sería el siguiente:
Dim k As Long
While Forms.Count > 1
Unload Forms(1)
Wend
Respuesta
1
Usemos un poco el juego sucio...
Supongo que ehablas de un MDI con varios MDIChild a cerrar.
Usa este código:
On Error GoTo Errores
While True
Unload Me.ActiveForm
Wend
On Error GoTo 0
Exit Sub
Errores:
Select Case Err
Case 91
Case Else
MsgBox Err.Number
End Select
La idea es simple, cierro todos los mdichild en un bucle infinito "While true" hasta que da un error (91) por que ya no existen más child, sucio, muy sucio.
Respuesta
1
Que te parece lo siguiente para lo que quieres hacer, lo que me queda de duda sería la forma principal de tu proyecto.
' Procedimiento que descarga la forma de registro de información de memoria para desconectar a crystal report
Dim fForma As Form
For Each fForma In Forms
Unload fForma
End If
Next
Respuesta
1
a ver... podría ser algo así
Public Sub CerrarForms()
Dim frm As Form
On Error GoTo 0
For Each frm In Forms
unload frm
Next
End Sub
Perdón por la demora
Algo así debería funcionar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas