Closing Event
Collapse the table of content
Expand the table of content

Window::Closing Event

 

Occurs directly after Close is called, and can be handled to cancel window closure.

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

public:
event CancelEventHandler^ Closing {
	void add(CancelEventHandler^ value);
	void remove(CancelEventHandler^ value);
}

Exception Condition
InvalidOperationException

Visibility is set, or Show, ShowDialog, or Close is called while a window is closing.

Closing can be handled to detect when a window is being closed (for example, when Close is called). Furthermore, Closing can be used to prevent a window from closing. To prevent a window from closing, you can set the Cancel property of the CancelEventArgs argument to true.

The Closing event is raised when Close is called, if a window's Close button is clicked, or if the user presses ALT+F4.

If an owned window was opened by its owner window using Show, and the owner window is closed, the owned window's Closing event is not raised. If the owner of a window is closed (see Owner), Closing is not raised on the owned window.

If Shutdown is called, the Closing event for each window is raised. However, if Closing is canceled, cancellation is ignored.

If a session ends because a user logs off or shuts down, Closing is not raised; handle SessionEnding to implement code that cancels application closure.

If you want to show and hide a window multiple times during the lifetime of an application, and you don't want to reinstantiate the window each time you show it, you can handle the Closing event, cancel it, and call the Hide method. Then, you can call Show on the same instance to reopen it.

The following example demonstrates a Window that determines whether it needs user intervention to close.

<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>
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.

.NET Framework
Available since 3.0
Silverlight
Available since 4.0
Return to top
Show:
© 2016 Microsoft