Window.DialogResult Property

Definition

Gets or sets the dialog result value, which is the value that is returned from the ShowDialog() method.

public:
 property Nullable<bool> DialogResult { Nullable<bool> get(); void set(Nullable<bool> value); };
[System.ComponentModel.TypeConverter(typeof(System.Windows.DialogResultConverter))]
public bool? DialogResult { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Windows.DialogResultConverter))>]
member this.DialogResult : Nullable<bool> with get, set
Public Property DialogResult As Nullable(Of Boolean)

Property Value

A Nullable<T> value of type Boolean. The default is false.

Attributes

Exceptions

DialogResult is set before a window is opened by calling ShowDialog().

-or-

DialogResult is set on a window that is opened by calling Show().

Examples

The following example shows how to configure an OK button and a Cancel button to return the appropriate DialogResult.

<Button IsDefault="True" Click="acceptButton_Click">OK (IsDefault=True)</Button>
<Button IsCancel="True">Cancel (IsCancel=True)</Button>
using System;
using System.Windows;
using System.Windows.Controls;

namespace CSharp
{
    public partial class DialogBox : Window
    {
        public DialogBox()
        {
            InitializeComponent();
        }

        // The accept button is a button whose IsDefault property is set to true.
        // This event is raised whenever this button is clicked, or the ENTER key
        // is pressed.
        void acceptButton_Click(object sender, RoutedEventArgs e)
        {
            // Accept the dialog and return the dialog result
            this.DialogResult = true;
        }
    }
}

Imports System.Windows
Imports System.Windows.Controls

Namespace VisualBasic
    Partial Public Class DialogBox
        Inherits Window
        Public Sub New()
            InitializeComponent()
        End Sub

        ' The accept button is a button whose IsDefault property is set to true.
        ' This event is raised whenever this button is clicked, or the ENTER key
        ' is pressed.
        Private Sub acceptButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
            ' Accept the dialog and return the dialog result
            Me.DialogResult = True
        End Sub
    End Class
End Namespace

Remarks

DialogResult can be used from the code that showed a dialog box to determine whether a user accepted (true) or canceled (false) the dialog box. If a dialog box was accepted, this signifies to the code that opened the dialog box to retrieve the data that was collected by the user and process it. If a dialog box was canceled, however, this signifies that calling code should stop any further processing.

By default, a dialog box is canceled when a user does one of the following:

  • Presses ALT+F4.

  • Clicks the Close button.

  • Selects Close from the System menu.

In all of these cases, DialogResult is false by default.

A dialog box typically provides a special button to cancel a dialog, which is the button whose IsCancel property is set to true. A button configured this way will automatically close a window when either it is pressed, or when the ESC key is pressed. In either of these cases, DialogResult remains false.

A dialog box also typically provides an accept button, which is the button whose IsDefault property is set to true. A button configured this way will raise its Click event when either it or the ENTER key is pressed. However, it won't automatically close the dialog box, nor will it set DialogResult to true. You need to manually write this code, usually from the Click event handler for the default button.

DialogResult is null when the dialog box is shown but neither accepted nor canceled.

After a dialog box closes, you can get the dialog result from the value returned by ShowDialog method, or by inspecting the DialogResult property.

DialogResult can only be set when a Window is opened by calling its ShowDialog method.

Note

You cannot set or get this property when a window is hosted in a browser.

Applies to