共用方式為


ITextRange.Move(TextRangeUnit, Int32) 方法

定義

依指定的 單位數目往前或向後移動插入點,。 如果文字範圍不產生,則會根據 計數,折疊至文字範圍開頭或結束位置的插入點,然後移動。

public:
 int Move(TextRangeUnit unit, int count);
int Move(TextRangeUnit const& unit, int const& count);
public int Move(TextRangeUnit unit, int count);
function move(unit, count)
Public Function Move (unit As TextRangeUnit, count As Integer) As Integer

參數

unit
TextRangeUnit

移動插入點的單位。 預設值為 字元

count
Int32

int

要移動插入點的 單位數目。 預設值為 1。 如果 計數 大於零,插入點會往前移動,朝本文結尾移動。 如果 計數 小於零,插入點就會向後移動,朝故事的開頭移動。 如果 計數 為零,則範圍不會變更。

傳回

Int32

int

插入點移動 的實際 單位數目。 如需詳細資訊,請參閱一節。

備註

如果範圍變質(插入點),這個方法會嘗試移動插入點 計數所指定的單位數目,

如果範圍不產生,且 計數 大於零,此方法會將範圍折疊至範圍結尾的插入點,將產生的插入點向前移動至 單位 界限(如果尚未達到一個),然後嘗試移動 計數 – 1 單位向前移動。 如果範圍不產生,且 計數 小於零,此方法會將範圍折疊到範圍開頭的插入點,將產生的插入點向後移動至 單位 界限(如果尚未達到一個),然後嘗試移動 計數 – 1 個 單位向後移動。 因此,在這兩種情況下,無論是在折疊之後移至 單位的開始或結尾,都會將非產生的範圍折疊至插入點, 計算為 單位

這個方法會傳回實際移動的 單位數目。 這個方法絕不會將插入點移到這個範圍的本文之外。 如果 計數單位會在本文開頭之前移動插入點,則插入點會移至本文開頭,並據以設定結果。 同樣地,如果 計數單位會將插入點移到故事結尾之外,則會移至故事結尾。

Count 會對應至按下 Ctrl+向右鍵的次數。

例如,如果您針對下列兩個圖所示的選取專案按 Ctrl+向右鍵,則最後會進入字元位置 8 的插入點,因為此命令會分別折疊其結尾的選取範圍(7 和 8),並移至下一個 Word 界限。

文字字串的字元位置 第一個選取範圍不包含字元位置 7 的空格符,因此 Ctrl+向右鍵會將空格移至字元位置 8 的 **Word** 界限。 範圍的結束位置已經位於第二個選取範圍的 **Word** 界限,因此 Ctrl+向右鍵只會折疊該界限上的選取範圍。 同樣地,Ctrl+向左鍵,此文字的作用就像 'Move(Word, -1)'。 但是 Ctrl+向左鍵會折疊字元位置 4 的第二個選取範圍,然後移至零,因為這是動作方向的下一個 **Word** 界限。

return 自變數會設定為等於插入點移動的 單位數目,包括一個 單位 來折疊非產生的範圍,並將它移至 單位 界限。 因此,如果沒有動作且沒有折迭發生,就像範圍是本文結尾的插入點一樣,結果會設定為零。 此方法適用於控制處理整個案例的應用程式迴圈。

在這兩種情況下,呼叫 Move(Word, 1) 會將結果設定為1,因為範圍已折疊。 同樣地,呼叫 Move(Word, -1) 會將結果設定為 - 1,這兩個案例都等於 1。 折疊,無論 單位 單位 界限,都會計算為移動 單位。

動作的方向是指純文本支援存放區中的邏輯字元順序。 這種方法可避免國際軟體中的幾何順序問題,例如左與右、上與下。 當然,編輯引擎仍然需要這類幾何方法,因為鍵盤具有箭頭鍵來叫用幾何移動。

ITextSelection UI 方法會備份在歸位字元/換行字元 (CR/LF) 上,就像是單一字元一樣,但 ITextRange.Move 方法會將歸位字元/換行字元 (CR/LF) 計算為兩個字元。 使用單一字元做為段落分隔符顯然更好,這是CR所代表,雖然接受Unicode段落分隔符0x2029。 一般而言,豐富的編輯控件支援歸位字元/換行字元(CR/LF)、CR、LF、VT(垂直定位)、FF(表單摘要),以及0x2029。 Microsoft Rich Edit 2.0 也支援 CR/CR/LF 以提供回溯相容性。

另請參閱 ITextRange.MoveStartITextRange.MoveEnd 方法,分別移動範圍開始或結束位置 計數單位 s。

適用於

另請參閱