2012-04-10 12 views
0

In einer .NET 3.5-Anwendung möchte ich Caret-Position in einem RichTextBox Steuerelement abrufen. Die RTB ist nicht XAML. Auch die RTB hat keine CaretPosition Eigenschaft wie hier beschrieben: http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.caretposition.aspx Was ist der einfachste Weg mit dem ich die Caret-Position bekommen kann?Abrufen der Caret-Position in einer RichTextBox

EDIT: Um genauer zu sein, ich möchte herausfinden, was die Position des Caret vom Anfang der Zeile ist, auf der es positioniert ist. Ich kann die Zeilennummer mit GetLineFromCharIndex(rtb.SelectionStart), aber nicht den Offset vom Anfang der Zeile erhalten.

Antwort

6

Um die Position des Cursors vom Beginn der aktuellen Zeile bekommt ich dies versuchen:

Dim posInLine as Integer = rtb.SelectionStart - rtb.GetFirstCharIndexOfCurrentLine() 
+0

Um die Position der Einfügemarke im Text aller Linien gemeinsam verwendet nur 'Dim posInText als Integer = rtb zu erhalten .AuswahlStart' – Martin