Form.OnClosing(CancelEventArgs) Metodo

Definizione

Genera l'evento Closing.

protected:
 virtual void OnClosing(System::ComponentModel::CancelEventArgs ^ e);
protected virtual void OnClosing (System.ComponentModel.CancelEventArgs e);
abstract member OnClosing : System.ComponentModel.CancelEventArgs -> unit
override this.OnClosing : System.ComponentModel.CancelEventArgs -> unit
Protected Overridable Sub OnClosing (e As CancelEventArgs)

Parametri

e
CancelEventArgs

Oggetto CancelEventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio seguente viene usato Closing per testare se il testo in un TextBox oggetto è stato modificato. Se ha, l'utente viene chiesto 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...
         }
      }
   }
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...
      }
   }
}
   Private Sub Form1_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
      ' Determine if text has changed in the textbox by comparing to original text.
      If textBox1.Text <> strMyOriginalText Then
         ' 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 Then
            ' Cancel the Closing event from closing the form.
            e.Cancel = True
         End If ' Call method to save file...
      End If
   End Sub
End Class

Commenti

Attenzione

Il OnClosing metodo è obsoleto a partire da .NET Framework 2.0. Usare invece il OnFormClosing metodo .

Quando viene generato un evento, il gestore dell'evento viene richiamato tramite un delegato. Per altre informazioni, vedere la gestione e generazione di eventi.

Il metodo OnClosing consente inoltre alle classi derivate di gestire l'evento senza associare un delegato. L'override di questo metodo è la tecnica preferita per la gestione dell'evento in una classe derivata.

Attenzione

I OnClosed metodi e OnClosing non vengono chiamati quando il Application.Exit metodo viene chiamato per uscire dall'applicazione. Se si dispone di codice di convalida in uno di questi metodi che devono essere eseguiti, è necessario chiamare il Form.Close metodo per ogni modulo aperto singolarmente prima di chiamare il Exit metodo.

Note per gli eredi

Quando si esegue l'override di OnClosing(CancelEventArgs) in una classe derivata, verificare di chiamare il metodo OnClosing(CancelEventArgs) della classe di base in modo che i delegati registrati ricevano l'evento.

Si applica a

Vedi anche