Share via


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 界限的情況下,必須移除模棱兩可的步驟;例如,“{The U}RL https://www.microsoft.com/ 內嵌在文字中”,其中 “{” 和 “}” 是文字範圍端點。

  2. 結果產生的範圍會在 DocumentRange 中向後移至所要求 unit 界限的開頭。

  3. 範圍會在 DocumentRange 中依所要求的 unit 界限數目向前或向後移動。

  4. 範圍會接著依一個要求的 End 界限移動 unit 端點,從變質範圍狀態展開。

Move & ExpandToEnclosingUnit
如何針對 Move() 和 ExpandToEnclosingUnit() 調整文字範圍的範例

在 UI 自動化樹狀結構的控制項檢視和內容檢視 (例如超連結或表格儲存格) 中,文字容器和內嵌物件的文字內容 (或內部文字) 會公開為單一連續的文字資料流; 物件界限會被忽略。

內嵌物件跨越的文字範圍。
具有內嵌物件及其範圍的文字資料流範例

Move 會同時遵守隱藏和可見的文字。

Move如果控件不支援指定的 TextUnit ,則延遲至下一個支援的最大TextUnit值。

從最小單位到最大的順序如下所列。

文字不會以任何方式改變,文字範圍只會跨越文字的不同部分。

適用於