ITextRangeProvider.Move(TextUnit, Int32) 方法

定义

移动指定的文本单位数的文本范围。

public:
 int Move(System::Windows::Automation::Text::TextUnit unit, int count);
public int Move(System.Windows.Automation.Text.TextUnit unit, int count);
abstract member Move : System.Windows.Automation.Text.TextUnit * int -> int
Public Function Move (unit As TextUnit, count As Integer) As Integer

参数

unit
TextUnit

文本单元边界。

count
Int32

要移动的文本单位数。

正值向前移动文本范围,负值向后移动文本范围,0 不起作用。

返回

实际移动的单位数。 如果新文本范围终结点之一大于或小于 DocumentRange 终结点,则这可以小于请求的数字。

注解

当需要遍历文本范围的内容时,幕后涉及一系列步骤,以成功执行Move方法。

  1. 对文本范围进行了规范化。也就是说,已在 Start 终结点将文本范围折叠为退化范围,这使得 End 终结点成为多余。 在文本范围跨越 unit 边界的情况下,需要执行此步骤来消除歧义;例如,“{U}RL https://www.microsoft.com/ 嵌入在文本中”,其中“{”和“}”是文本范围终结点。

  2. 生成的范围在 DocumentRange 中向后移动到所请求的 unit 边界的开头。

  3. DocumentRange中,范围按请求的unit边界数量向前或向后移动。

  4. 然后通过将 End 终结点移动一个所请求的 unit 边界,范围从退化范围状态扩展开来。

Move 和 ExpandToEnclosingUnit 范围调整的范围调整 调整)如何调整 Move() 和 ExpandToEnclosingUnit() 的文本范围的示例

文本容器的文本内容(或内部文本)和嵌入对象(如超链接或表格单元格)公开为控件视图和 UI 自动化树的内容视图中的单个连续文本流;将忽略对象边界。

嵌入对象跨越的文本范围。 包含嵌入对象及其范围的文本流示例

Move 尊重隐藏文本和可见文本。

Move如果控件不支持给定TextUnit值,则延迟到下一个最大的TextUnit受支持。

下面列出了从最小单位到最大单位的顺序。

文本不会以任何方式更改,文本范围仅跨越文本的不同部分。

适用于