Edit

Share via


Window.ShowDialog Method

Definition

Opens a window and returns only when the newly opened window is closed.

public:
 Nullable<bool> ShowDialog();
[System.Security.SecurityCritical]
public bool? ShowDialog ();
public bool? ShowDialog ();
[<System.Security.SecurityCritical>]
member this.ShowDialog : unit -> Nullable<bool>
member this.ShowDialog : unit -> Nullable<bool>
Public Function ShowDialog () As Nullable(Of Boolean)

Returns

A Nullable<T> value of type Boolean that specifies whether the activity was accepted (true) or canceled (false). The return value is the value of the DialogResult property before a window closes.

Attributes

Exceptions

ShowDialog() is called on a window that is closing (Closing) or has been closed (Closed).

Examples

The following sample demonstrates how to open a modal window.

// Instantiate window
DialogBox dialogBox = new DialogBox();

// Show window modally
// NOTE: Returns only when window is closed
Nullable<bool> dialogResult = dialogBox.ShowDialog();
' Instantiate window
Dim dialogBox As New DialogBox()

' Show window modally
' NOTE: Returns only when window is closed
Dim dialogResult? As Boolean = dialogBox.ShowDialog()

Remarks

When a Window class is instantiated, it is not visible by default. ShowDialog shows the window, disables all other windows in the application, and returns only when the window is closed. This type of window is known as a modal window.

Modal windows are primarily used as dialog boxes. A dialog box is a special type of window that applications use to interact with users to complete tasks, such as opening files or printing documents. Dialog boxes commonly allow users to accept or cancel the task for which they were shown before the dialog box is closed. ShowDialog returns a Nullable<T>Boolean value that specifies whether the activity was accepted or canceled. The return value is the value of the DialogResult property before a window closes. For more information, see DialogResult.

A window that is opened by calling the ShowDialog method does not automatically have a relationship with the window that opened it; specifically, the opened window does not know which window opened it. This relationship can be established using the Owner property and managed using the OwnedWindows property. To support UI automation (see UI Automation Overview), Owner must be set for a window opened by calling ShowDialog.

When a modal WPF window (a window opened by calling ShowDialog) is closed, the previously activated window is reactivated. If a modal WPF window has an owner window (see Owner), the owner window is not reactivated when the modal WPF window is closed unless it was the previously activated window.

Note

This method cannot be called when a window is hosted in a browser.

Applies to

See also