Window.ShowDialog 方法

定义

打开一个窗口,并且仅在新打开的窗口关闭后才返回。

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)

返回

Nullable<T> 类型的 Boolean 值,该值指定活动被接受 (true) 还是被取消 (false)。 返回值是 DialogResult 属性在窗口关闭前具有的值。

属性

例外

对正在关闭 (ShowDialog()) 或已经关闭 (Closing) 的窗口调用 Closed

示例

以下示例演示如何打开模式窗口。

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

注解

实例化类 Window 时,默认情况下不可见。 ShowDialog 显示窗口,禁用应用程序中的所有其他窗口,并且仅在窗口关闭时返回。 这种类型的窗口称为 模式 窗口。

模式窗口主要用于对话框。 对话框是应用程序用来与用户交互以完成任务(例如打开文件或打印文档)的特殊类型的窗口。 对话框通常允许用户接受或取消在对话框关闭之前显示的任务。 ShowDialog 返回一个 Nullable<T>Boolean 值,该值指定是接受还是取消活动。 返回值是 DialogResult 属性在窗口关闭前具有的值。 有关详细信息,请参阅 DialogResult

通过调用 ShowDialog 方法打开的窗口不会自动与打开它的窗口有关系;具体而言,打开的窗口不知道哪个窗口打开了它。 可以使用 属性建立此关系, Owner 并使用 OwnedWindows 属性进行管理。 若要支持 UI 自动化 (请参阅 UI 自动化概述) , Owner 必须为通过调用 ShowDialog打开的窗口设置。

当模式 WPF 窗口 (通过调用 ShowDialog) 打开的窗口关闭时,将重新激活以前激活的窗口。 如果模式 WPF 窗口具有所有者窗口 (看到 Owner) ,则模式 WPF 窗口关闭时不会重新激活所有者窗口,除非它是以前激活的窗口。

注意

当窗口托管在浏览器中时,无法调用此方法。

适用于

另请参阅