实现 UI 自动化 Transform 控件模式

备注

本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化

本主题介绍实现 ITransformProvider的准则和约定,包括有关属性、方法和事件的信息。 本主题的结尾列出了指向其他参考资料的链接。

TransformPattern 控件模式用于支持可以移动、调整大小或在二维空间中旋转的控件。 有关实现此控件模式的控件示例,请参阅 Control Pattern Mapping for UI Automation Clients

实现准则和约定

在实现 Transform 控件模式时,请注意以下准则和约定:

  • 对此控件模式的支持并不限于桌面上的对象。 如果子级可以移动、调整大小或在容器的边界内自由地旋转,则此控件模式还必须受到容器对象子级的支持。

  • 如果移动、旋转对象或调整其大小使得屏幕位置完全处于其容器的坐标之外(例如,当顶层窗口移动到屏幕之外或子对象移动到容器的视区边界之外时),结果导致键盘或鼠标无法访问,则不能如此操作。 在这些情况下,对象被放在尽可能靠近所请求的屏幕坐标位置,而顶部或左侧坐标被覆盖以位于容器边界内。

  • 对于多监视器系统,如果一个对象被移动、调整大小或旋转导致完全位于组合桌面屏幕坐标外,则该对象被放置在尽可能靠近所请求坐标的主监视器中。

  • 所有参数和属性值都是绝对和独立于区域设置的。

ITransformProvider 必需的成员

实现 ITransformProvider需要以下属性和方法。

必需的成员 成员类型 说明
CanMove 属性
CanResize 属性
CanRotate 属性
Move 方法
Resize 方法
Rotate 方法

没有与此控件模式关联的事件。

例外

提供程序必须引发以下异常。

异常类型 条件
InvalidOperationException Move

- 如果 CanMoveProperty 为 false。
InvalidOperationException Resize

- 如果 CanResizeProperty 为 false。
InvalidOperationException Rotate

- 如果 CanRotateProperty 为 false。

请参阅