Window.ShowDialog 方法

定義

開啟視窗,並且只在新開啟的視窗已經關閉時才返回。

C#
[System.Security.SecurityCritical]
public bool? ShowDialog();
C#
public bool? ShowDialog();

傳回

Nullable<T> 型別的 Boolean 值,會指定已接受 (true) 或取消 (false) 活動。 傳回值就是在視窗關閉前的 DialogResult 屬性值。

屬性

例外狀況

ShowDialog() 的呼叫對象是正在關閉 (Closing) 或已經關閉 (Closed) 的視窗。

範例

下列範例示範如何開啟強制回應視窗。

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

// Show window modally
// NOTE: Returns only when window is closed
Nullable<bool> dialogResult = dialogBox.ShowDialog();

備註

Window具現化類別時,預設不會顯示該類別。 ShowDialog 會顯示視窗、停用應用程式中的所有其他視窗,而且只有在視窗關閉時才會傳回。 這種類型的視窗稱為 強制回應 視窗。

強制回應視窗主要用於對話方塊。 對話方塊是一種特殊的視窗類型,應用程式可用來與使用者互動來完成工作,例如開啟檔案或列印檔案。 對話方塊通常允許使用者接受或取消在關閉對話方塊之前顯示的工作。 ShowDialogNullable<T>Boolean 回值,這個值會指定是否接受或取消活動。 傳回值就是在視窗關閉前的 DialogResult 屬性值。 如需詳細資訊,請參閱DialogResult

呼叫 ShowDialog 方法所開啟的視窗不會自動與開啟它的視窗有關聯性;具體而言,開啟的視窗不知道開啟的視窗。 您可以使用 屬性來建立 Owner 此關聯性,並使用 OwnedWindows 屬性進行管理。 若要支援使用者介面自動化 (請參閱使用者介面 自動化概觀) , Owner 必須藉由呼叫 ShowDialog 來設定開啟的視窗。

當強制回應 WPF 視窗 (呼叫 ShowDialog) 開啟的視窗關閉時,會重新啟用先前啟動的視窗。 如果強制回應 WPF 視窗有擁有者視窗 (看到 Owner) ,除非它是先前啟用的視窗,否則當強制回應 WPF 視窗關閉時,不會重新啟用擁有者視窗。

備註

當視窗裝載于瀏覽器中時,無法呼叫這個方法。

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另請參閱