備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題介紹實作 IWindowProvider 的指導方針和慣例,包括 WindowPattern 的屬性、方法和事件的相關資訊。 主題結尾會列出其他參考的連結。
控制項 WindowPattern 模式可用來支援在傳統圖形使用者介面 (GUI) 內提供基本視窗式功能的控制件。 必須實作此控件模式的控件範例包括最上層應用程式視窗、多文檔介面 (MDI) 子視窗、可重設大小的分割窗格控制件、強制回應對話框和氣球說明視窗。
實作指導方針和慣例
實作視窗控制項模式時,請注意下列指導方針和慣例:
若要支援使用 UI 自動化來修改視窗大小和螢幕位置的功能,控件必須實作 ITransformProvider 和 IWindowProvider。
包含標題列和標題列元素的控件,通常需要實作IWindowProvider,以便實現移動、重設大小、最大化、最小化或關閉的功能。
工具提示快顯、下拉式方塊或選單等控制項通常不會實作IWindowProvider。
氣球說明視窗與基本工具提示不同,因為它們提供了類似視窗的關閉按鈕。
IWindowProvider 不支援全螢幕模式,因為它是應用程式特有的功能,而且不是典型的窗口行為。
IWindowProvider 的必要成員
IWindowProvider 介面需要下列屬性、方法和事件。
必要成員 | 成員類型 | 註釋 |
---|---|---|
InteractionState | 房產 | 沒有 |
IsModal | 房產 | 沒有 |
IsTopmost | 房產 | 沒有 |
Maximizable | 房產 | 沒有 |
Minimizable | 房產 | 沒有 |
VisualState | 房產 | 沒有 |
Close | 方法 | 沒有 |
SetVisualState | 方法 | 沒有 |
WaitForInputIdle | 方法 | 沒有 |
WindowClosedEvent | 事件 | 沒有 |
WindowOpenedEvent | 事件 | 沒有 |
WindowInteractionState | 事件 | 不保證為 ReadyForUserInteraction |
例外狀況
提供者必須擲回下列例外狀況。
例外狀況類型 | 狀況 |
---|---|
InvalidOperationException | SetVisualState - 當控件不支援要求的行為時。 |
ArgumentOutOfRangeException | WaitForInputIdle - 當參數不是有效的數位時。 |