Window.DialogResult プロパティ


ダイアログ ボックスの結果値を取得または設定します。この値は、ShowDialog() メソッドから返される値です。Gets or sets the dialog result value, which is the value that is returned from the ShowDialog() method.

 property Nullable<bool> DialogResult { Nullable<bool> get(); void set(Nullable<bool> value); };
public Nullable<bool> DialogResult { get; set; }
member this.DialogResult : Nullable<bool> with get, set
Public Property DialogResult As Nullable(Of Boolean)


Nullable<T> 型の Boolean 値。A Nullable<T> value of type Boolean. 既定では、 falseです。The default is false.



DialogResult を呼び出すことによってウィンドウが開かれる前に ShowDialog() が設定されます。DialogResult is set before a window is opened by calling ShowDialog().

または-or- DialogResult を呼び出すことによって開かれたウィンドウに Show() が設定されます。DialogResult is set on a window that is opened by calling Show().

次の例では、[OK] ボタンと [キャンセル] ボタンを構成して、適切な DialogResultを返す方法を示します。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()

        // 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()
        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


DialogResult は、ダイアログボックスを見たコードから、ユーザーがダイアログボックスを承諾 (true) またはキャンセルした (false) かどうかを判断するために使用できます。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:

  • Preson Alt + F4。PressesALT+F4.

  • [閉じる] ボタンをクリックします。Clicks the Close button.

  • システム メニューの 閉じる を選択します。Selects Close from the System menu.

このような場合、既定では DialogResultfalse ます。In all of these cases, DialogResult is false by default.

ダイアログボックスには、通常、ダイアログをキャンセルする特別なボタンが用意されています。このボタンは、IsCancel プロパティが trueに設定されているボタンです。A dialog box typically provides a special button to cancel a dialog, which is the button whose IsCancel property is set to true. この方法で構成されたボタンを押すと、ウィンドウが押されたとき、または ESC キーが押されたときに、ウィンドウが自動的に閉じられます。A button configured this way will automatically close a window when either it is pressed, or when the ESC key is pressed. どちらの場合も、DialogResultfalseのままです。In either of these cases, DialogResult remains false.

ダイアログボックスには、通常、[accept] ボタンも用意されています。このボタンは、IsDefault プロパティが trueに設定されているボタンです。A dialog box also typically provides an accept button, which is the button whose IsDefault property is set to true. この方法で構成されたボタンは、そのボタンまたは ENTER キーが押されたときに Click イベントを発生させます。A button configured this way will raise its Click event when either it or the ENTER key is pressed. ただし、ダイアログボックスが自動的に閉じられることはなく、DialogResulttrueに設定されることもありません。However, it won't automatically close the dialog box, nor will it set DialogResult to true. このコードは、通常、既定のボタンの Click イベントハンドラーから手動で書き込む必要があります。You need to manually write this code, usually from the Click event handler for the default button.

ダイアログボックスが表示されているが、受理もキャンセルもされていない場合、DialogResultnullDialogResult is null when the dialog box is shown but neither accepted nor canceled.

ダイアログボックスを閉じると、ShowDialog メソッドによって返される値から、または DialogResult プロパティを調べることによって、ダイアログの結果を取得できます。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 は、ShowDialog メソッドを呼び出すことによって Window が開かれている場合にのみ設定できます。DialogResult can only be set when a Window is opened by calling its ShowDialog method.


ウィンドウがブラウザーでホストされている場合、このプロパティを設定または取得することはできません。You cannot set or get this property when a window is hosted in a browser.