Evento QueryUnload
Viene generato prima che un form o un'applicazione vengano chiusi. Quando un oggetto MDIForm viene chiuso, viene generato un evento QueryUnload prima per ilform MDI e quindi per tutti iMDI secondari. Se l'evento non viene annullato in uno dei form, viene generato un evento Unload prima in tutti i form e quindi in un form MDI. Quando un form secondario o un oggetto Form viene chiuso, l'evento QueryUnload viene generato prima dell'evento Unload del form.
Sintassi
Private Sub Form_QueryUnload(cancel As Integer, unloadmode As Integer)
Private Sub MDIForm_QueryUnload(cancel As Integer, unloadmode As Integer)
La sintassi dell'evento QueryUnload è composta dalle seguenti parti:
Parte Descrizione
cancel Intero. Se il valore è diverso da 0, l'evento QueryUnload viene interrotto in tutti i form caricati, impedendo che il form o l'applicazione vengano chiusi.
unloadmode Valore o costante che indica la causa che ha generato l'evento QueryUnload, come indicato nella sezione "Valori restituiti".
Valori restituiti
L'argomento unloadmode restituisce i seguenti valori:
vbFormControlMenu =0 È stato scelto il comando Chiudi dal menu di controllo del form.
vbFormCode =1 L'istruzione Unload viene richiamata dal codice.
vbAppWindows =2 La sessione corrente dell'ambiente operativo Microsoft Windows è conclusa.
vbAppTaskManager =3 L'applicazione è stata chiusa tramite Task Manager di Microsoft Windows.
vbFormMDIForm =4 Il form secondario MDI viene chiuso in quanto viene chiuso il form MDI principale.
vbFormOwner =5 Il form viene chiuso in quanto viene chiuso il proprietario.
Queste costanti sono elencate nellalibreria degli oggetti di Visual Basic (VB) nelVisualizzatore oggetti.
Osservazioni
Questo evento viene in genere utilizzato per verificare che non vi siano operazioni non completate nei form prima che un'applicazione venga chiusa. Se, ad esempio, i dati di un form non sono stati salvati, verrà visualizzato un messaggio in cui si chiede di salvare i dati.
Quando un'applicazione viene chiusa, è possibile utilizzare la routine dell'evento QueryUnload o Unload per impostare la proprietà Cancel su True e interrompere quindi il processo di chiusura dell'applicazione. Mentre l'evento QueryUnload viene generato in tutti i form prima che uno di essi venga scaricato, l'evento Unload viene generato ogni volta che un form viene scaricato.