ITextCaret::MoveTo Method (SnapshotPoint, PositionAffinity, Boolean)
Moves the caret to the given index in the underlying ITextBuffer.
Assembly: Microsoft.VisualStudio.Text.UI (in Microsoft.VisualStudio.Text.UI.dll)
CaretPosition MoveTo(
SnapshotPoint bufferPosition,
PositionAffinity caretAffinity,
bool captureHorizontalPosition
)
Parameters
- bufferPosition
-
Type:
Microsoft.VisualStudio.Text::SnapshotPoint
The SnapshotPoint in the underlying text buffer to which to move the caret.
- caretAffinity
-
Type:
Microsoft.VisualStudio.Text::PositionAffinity
The affinity of the caret. This is ignored unless bufferPosition specifies a location that is at the seam between two word-wrapped lines.
- captureHorizontalPosition
-
Type:
System::Boolean
true if the caret should capture its horizontal position for subsequent moves up or down, false if the caret should retain its previously-captured horizontal position.
Return Value
Type: Microsoft.VisualStudio.Text.Editor::CaretPositionA CaretPosition that contains the valid values of the caret position after the move has occurred.
This method handles UTF-16 surrogate pairs and combining character sequences.
For example, if the text buffer consists of a high surrogate character at index 0 and a low surrogate character at index 1, and bufferPosition is 1 and caretAffinity is Successor, the actual valid caret index is 0 (since the high surrogate and low surrogate characters form one text element).
If caretAffinity is Predecessor, the actual valid caret index is 2.