共用方式為


Window.Owner 屬性

定義

取得或設定擁有這個 WindowWindow

public:
 property System::Windows::Window ^ Owner { System::Windows::Window ^ get(); void set(System::Windows::Window ^ value); };
public System.Windows.Window Owner { [System.Security.SecurityCritical] get; [System.Security.SecurityCritical] set; }
public System.Windows.Window Owner { get; set; }
[<get: System.Security.SecurityCritical>]
[<set: System.Security.SecurityCritical>]
member this.Owner : System.Windows.Window with get, set
member this.Owner : System.Windows.Window with get, set
Public Property Owner As Window

屬性值

Window 物件,表示這個 Window的擁有者。

屬性

例外狀況

窗口嘗試自行擁有

-或-

兩個窗口嘗試彼此擁有。

Owner 屬性是在使用 ShowDialog() 顯示的可見視窗上設定

-或-

Owner 屬性是使用先前未顯示的視窗來設定。

範例

下列範例示範如何建立擁有者/擁有的關聯性。

// Create a window and make this window its owner
Window ownedWindow = new Window();
ownedWindow.Owner = this;
ownedWindow.Show();
' Create a window and make this window its owner
Dim ownedWindow As New Window()
ownedWindow.Owner = Me
ownedWindow.Show()

備註

當父視窗透過呼叫 ShowDialog開啟子視窗時,會在父視窗和子視窗之間建立隱含關聯性。 此關聯性會強制執行某些行為,包括最小化、最大化和還原。

不過,當父視窗透過呼叫 Show建立子視窗時,子視窗與父視窗沒有關聯性。 這表示:

  • 子視窗沒有父窗口的參考。

  • 子窗口的行為與父窗口的行為無關;任一個視窗可以涵蓋另一個視窗,或盡可能最小化、最大化和還原彼此。

若要讓您建立子視窗與父視窗之間的關聯性,Window 支援擁有權的概念。 當視窗 (擁有的視窗) 的 Owner 屬性是以另一個視窗 (擁有者視窗) 的參考來設定時,就會建立擁有權。

建立此關聯性之後,就會顯示下列行為:

  • 如果擁有者視窗最小化,其所有擁有的視窗也會最小化。

  • 如果擁有的視窗最小化,則其擁有者不會最小化。

  • 如果擁有者視窗最大化,則會還原擁有者視窗和其擁有的視窗。

  • 擁有者視窗永遠無法涵蓋擁有的視窗。

  • 未使用 ShowDialog 開啟的擁有視窗不是強制回應。 使用者仍然可以與擁有者窗口互動。

  • 如果您關閉擁有者視窗,其擁有的視窗也會關閉。

  • 如果使用 Show開啟擁有的視窗,且擁有者視窗已關閉,則不會引發擁有的視窗 Closing 事件。

當您呼叫 ShowDialog開啟子視窗時,也應該設定子視窗的 Owner 屬性。 如果您未這麼做,則使用者將無法按下任務欄按鈕來還原子視窗和父視窗。 相反地,按下任務欄按鈕會產生視窗清單,包括子視窗和父視窗,以供他們選取;只會還原選取的視窗。

重要

您也應該呼叫 ShowDialog,在開啟的視窗上設定 Owner 屬性,以確保擁有的視窗有正確的行為。

注意

當視窗載入在瀏覽器中時,您無法設定或取得這個屬性。

適用於

另請參閱