Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Evento Form.Closing

Si verifica quando il form viene chiuso.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public event CancelEventHandler Closing

Nota di avvisoAttenzione

L'evento Closing è obsoleto in .NET Framework versione 2.0. Utilizzare in alternativa l'evento FormClosing.

L'evento Closing si verifica alla chiusura del form. Quando un form viene chiuso vengono liberate tutte le risorse create all'interno di tale oggetto e il form viene eliminato. Se si annulla l'evento il form rimane aperto. Per annullare la chiusura di un form impostare la proprietà Cancel dell'oggetto CancelEventArgs passato al gestore eventi su true .

Quando un form viene visualizzato come finestra di dialogo modale, facendo clic sul pulsante Chiudi, contrassegnato da una X nell'angolo superiore destro del form, il form verrà nascosto e la proprietà DialogResult verrà impostata su DialogResult.Cancel. Per eseguire l'override del valore assegnato alla proprietà DialogResult quando l'utente fa clic sul pulsante Chiudi, è possibile impostare la proprietà DialogResult in un gestore eventi per l'evento Closing del form.

NotaNota

Quando viene chiamato il metodo Close su un Form visualizzato come finestra non modale non è possibile chiamare il metodo Show per rendere il form visibile, poiché le risorse del form sono già state liberate. Per nascondere un form e poi renderlo visibile utilizzare il metodo Control.Hide.

Nota di avvisoAttenzione

Gli eventi Form.Closed e Form.Closing non vengono generati quando viene chiamato il metodo Application.Exit per uscire dall'applicazione. Se, all'interno di uno di questi eventi, è necessario eseguire un codice di convalida, occorre chiamare il metodo Form.Close per ogni form aperto, prima di chiamare il metodo Exit.

Se il form è un form padre MDI gli eventi Closing di tutti i form figlio MDI vengono generati prima della generazione dell'evento Closing del form padre MDI. Inoltre, gli eventi Closed di tutti i form figlio MDI vengono generati prima che venga generato l'evento Closed del form padre MDI. L'annullamento dell'evento Closing di un form figlio MDI non impedisce la generazione dell'evento Closing del form padre MDI. Tuttavia, l'annullamento dell'evento provocherà l'impostazione su true della proprietà Cancel dell'oggetto CancelEventArgs passato come parametro al form padre. Per imporre la chiusura di tutti i form padre e figlio MDI, impostare su false la proprietà Cancel nel form padre MDI.

Per ulteriori informazioni sulla gestione degli eventi, vedere Utilizzo degli eventi.

Nell'esempio di codice riportato di seguito viene utilizzato l'evento Closing per verificare se è stato modificato il testo in una classe TextBox. Se il testo è stato modificato, verrà richiesto all'utente se salvare le modifiche in un file.


private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
   // Determine if text has changed in the textbox by comparing to original text.
   if (textBox1.Text != strMyOriginalText)
   {
      // Display a MsgBox asking the user to save changes or abort.
      if(MessageBox.Show("Do you want to save changes to your text?", "My Application",
         MessageBoxButtons.YesNo) ==  DialogResult.Yes)
      {
         // Cancel the Closing event from closing the form.
         e.Cancel = true;
         // Call method to save file...
      }
   }
}


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft