Share via


實作 UI 自動化 Transform 控制項模式

注意

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

本主題簡介實作 ITransformProvider的方針和慣例,包括屬性、方法和事件的相關資訊。 其他參考的連結列於此主題的結尾部分。

TransformPattern 控制項模式用來支援可在二維空間內移動、調整大小或旋轉的控制項。 如需實作此控制項模式的控制項範例,請參閱 Control Pattern Mapping for UI Automation Clients

實作方針和慣例

實作轉換控制項模式時,請注意下列方針和慣例:

  • 此控制項模式的支援不限於桌面上的物件。 若容器物件的子項可以自由在容器的範圍內移動、調整大小或旋轉,則這些子項也必須支援此控制項模式。

  • 如果物件最後在螢幕上的位置完全在其容器的座標以外,而鍵盤或滑鼠存取不到的話,就無法移動、調整大小或旋轉物件 (例如,最上層的視窗移離螢幕,或是子物件移到容器檢視區範圍以外的地方)。 在這種情況下,物件會放置到最接近所要求螢幕座標的地方,其上方或左方座標會覆寫成容器範圍內的座標。

  • 針對多監視器系統,若物件移動、調整大小或旋轉後的位置完全超出合併桌面螢幕座標的範圍,物件就會移至主要監視器上最接近所要求座標的位置。

  • 所有參數和屬性值都是絕對值,不受地區設定影響。

ITransformProvider 的必要成員

以下是實作 ITransformProvider的必要屬性和方法。

必要成員 成員類型 備註
CanMove 屬性
CanResize 屬性
CanRotate 屬性
Move 方法
Resize 方法
Rotate 方法

此控制項模式沒有任何相關聯的事件。

例外狀況

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

例外狀況類型 Condition
InvalidOperationException Move

- 如果 CanMoveProperty 為 false。
InvalidOperationException Resize

- 如果 CanResizeProperty 為 false。
InvalidOperationException Rotate

- 如果 CanRotateProperty 為 false。

另請參閱