共用方式為


實施UI自動化視窗控制模式

備註

本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化

本主題介紹實作 IWindowProvider 的指導方針和慣例,包括 WindowPattern 的屬性、方法和事件的相關資訊。 主題結尾會列出其他參考的連結。

控制項 WindowPattern 模式可用來支援在傳統圖形使用者介面 (GUI) 內提供基本視窗式功能的控制件。 必須實作此控件模式的控件範例包括最上層應用程式視窗、多文檔介面 (MDI) 子視窗、可重設大小的分割窗格控制件、強制回應對話框和氣球說明視窗。

實作指導方針和慣例

實作視窗控制項模式時,請注意下列指導方針和慣例:

  • 若要支援使用 UI 自動化來修改視窗大小和螢幕位置的功能,控件必須實作 ITransformProviderIWindowProvider

  • 包含標題列和標題列元素的控件,通常需要實作IWindowProvider,以便實現移動、重設大小、最大化、最小化或關閉的功能。

  • 工具提示快顯、下拉式方塊或選單等控制項通常不會實作IWindowProvider

  • 氣球說明視窗與基本工具提示不同,因為它們提供了類似視窗的關閉按鈕。

  • IWindowProvider 不支援全螢幕模式,因為它是應用程式特有的功能,而且不是典型的窗口行為。

IWindowProvider 的必要成員

IWindowProvider 介面需要下列屬性、方法和事件。

必要成員 成員類型 註釋
InteractionState 房產 沒有
IsModal 房產 沒有
IsTopmost 房產 沒有
Maximizable 房產 沒有
Minimizable 房產 沒有
VisualState 房產 沒有
Close 方法 沒有
SetVisualState 方法 沒有
WaitForInputIdle 方法 沒有
WindowClosedEvent 事件 沒有
WindowOpenedEvent 事件 沒有
WindowInteractionState 事件 不保證為 ReadyForUserInteraction

例外狀況

提供者必須擲回下列例外狀況。

例外狀況類型 狀況
InvalidOperationException SetVisualState

- 當控件不支援要求的行為時。
ArgumentOutOfRangeException WaitForInputIdle

- 當參數不是有效的數位時。

另請參閱