ITextRangeProvider.MoveEndpointByUnit 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在文档范围内将文本范围的一个端点移动指定数量的文本单位。
public:
int MoveEndpointByUnit(System::Windows::Automation::Text::TextPatternRangeEndpoint endpoint, System::Windows::Automation::Text::TextUnit unit, int count);
public int MoveEndpointByUnit (System.Windows.Automation.Text.TextPatternRangeEndpoint endpoint, System.Windows.Automation.Text.TextUnit unit, int count);
abstract member MoveEndpointByUnit : System.Windows.Automation.Text.TextPatternRangeEndpoint * System.Windows.Automation.Text.TextUnit * int -> int
Public Function MoveEndpointByUnit (endpoint As TextPatternRangeEndpoint, unit As TextUnit, count As Integer) As Integer
参数
- endpoint
- TextPatternRangeEndpoint
要移动的端点。
- unit
- TextUnit
移动时使用的文本单位。
- count
- Int32
要移动的单元的数量。 正值表示向前移动端点。 负值表示向后移动端点。 0 值表示不做任何移动。
返回
实际移动的单位数,如果移动端点时遇到了文档的开始或结尾,则可能小于请求移动的单位数。
注解
如果需要遍历文本范围的内容,为使 Move 方法成功执行,将在后台进行一系列步骤。
对文本范围进行了规范化。也就是说,已在 Start 终结点将文本范围折叠为退化范围,这使得 End 终结点成为多余。 若要在文本范围跨越
unit
边界的情况下消除歧义,必须执行此步骤;例如,“{U}RL https://www.microsoft.com/ 嵌入在文本中”,其中“{”和“}”是文本范围终结点。生成的范围在 DocumentRange 中向后移动到所请求的
unit
边界的开头。然后通过将 End 终结点移动一个所请求的
unit
边界,范围从退化范围状态扩展开来。
如何针对 Move() 和 ExpandToEnclosingUnit() 调整文本范围的示例
MoveEndpointByUnit如果控件不支持给定TextUnit的 ,则延迟到支持的下一个最大 TextUnit 。
下面列出了从最小单位到最大单位的顺序。