Chiudere tutte le finestre aperte da un applicativo

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca

Se in chiusura di un applicativo si intende chiudere anche tutte le finestre eventualmente generate dall'applicativo medesimo oltre il suo Form principale, si può utilizzare l'istruzione:

Public Sub Form_Close()

' Assegna alla Proprietà ".MainWindow" della Classe Application la finestra principale dell'applicativo:
 Application.MainWindow = Me

End

che fa diventare la finestra corrente quella principale: quando viene chiusa la finestra principale, vengono chiuse tutte le altre finestre e l'applicazione.

E' possibile usare anche la Classe Windows, che ritorna una collezione di tutte le finestre create dall'applicativo principale:

Public Sub Form_Open()

 Dim w As Window

 With w = New Window
   .Move(0, 0, 100, 100)
   .Show
 End With

 With w = New Window
   .Move(200, 100, 100, 100)
   .Show
 End With

 With w = New Window
   .Move(300, 200, 100, 100)
   .Show
 End With

 Me.Center

End


Public Sub Form_Close()

 For Each w As Window In Windows
   w.Close
 Next

End