實作 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。 |