Closing Ereignis
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Window.Closing-Ereignis

 

Tritt direkt nach Close aufgerufen wird, und behandelt werden können, um den Vorgang abbrechen.

Namespace:   System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

public event CancelEventHandler Closing

Exception Condition
InvalidOperationException

Visibility festgelegt ist, oder Show, ShowDialog, oder Close aufgerufen wird, während ein Fenster geschlossen wird.

Closing behandelt werden können, um zu ermitteln, wenn ein Fenster geschlossen wird (z. B., wenn Close aufgerufen wird). Darüber hinaus Closing können verwendet werden, um zu verhindern, dass ein Fenster schließen. Zum Schließen ein Fensters zu verhindern, legen Sie die Cancel Eigenschaft der CancelEventArgs Argument true.

Das Closing -Ereignis wird ausgelöst, wenn Close aufgerufen wird, wenn die Schaltfläche zum Schließen eines Fensters geklickt wird oder wenn Benutzer die Tastenkombination ALT + F4 drücken.

Wenn ein Fenster im Besitz von zugehörigen Besitzerfenster mithilfe geöffnet wurde Show, und der Besitzer geschlossen wird, die im Besitz des Fensters Closing Ereignis nicht ausgelöst. Wenn der Besitzer eines Fensters geschlossen wird (finden Sie unter Owner), Closing wird nicht auf das zugehörige Fenster ausgelöst.

Wenn Shutdown aufgerufen wird, werden die Closing Ereignis für jedes Fenster ausgelöst. Jedoch wenn Closing wird abgebrochen, Abbruch wird ignoriert.

Wenn eine Sitzung beendet, da ein Benutzer abmelden oder Herunterfahren Closing wird nicht ausgelöst, behandeln SessionEnding Code zu implementieren, das Schließen der Anwendung abbricht.

Wenn Sie anzeigen oder Ausblenden eines Fensters während der Lebensdauer einer Anwendung mehrmals, und nicht das Fenster jedes Mal neu instanziieren möchten Sie diese anzeigen, können Sie behandeln die Closing Ereignis, das Abbrechen, und rufen Sie die Hide Methode. Rufen Sie Sie dann Show auf derselben Instanz zurücksetzen.

Das folgende Beispiel zeigt eine Window der bestimmt, ob zum Schließen ein Benutzereingriff erforderlich.

<Window 
  x:Class="CSharp.DataWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Closing="DataWindow_Closing"  
    >
</Window>
using System; // EventArgs
using System.ComponentModel; // CancelEventArgs
using System.Windows; // window

namespace CSharp
{
    public partial class DataWindow : Window
    {
        // Is data dirty
        bool isDataDirty = false;
        void DataWindow_Closing(object sender, CancelEventArgs e)
        {
            MessageBox.Show("Closing called");

            // If data is dirty, notify user and ask for a response
            if (this.isDataDirty)
            {
                string msg = "Data is dirty. Close without saving?";
                MessageBoxResult result = 
                  MessageBox.Show(
                    msg, 
                    "Data App", 
                    MessageBoxButton.YesNo, 
                    MessageBoxImage.Warning);
                if (result == MessageBoxResult.No)
                {
                    // If user doesn't want to close, cancel closure
                    e.Cancel = true;
                }
            }
        }
    }
}

.NET Framework
Verfügbar seit 3.0
Silverlight
Verfügbar seit 4.0
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft