C# Get cursor-Zeile in RichTextBox

In C#, ich habe eine RichTextBox, und ich möchte die aktuelle Zeile des Cursors. Jede Antwort, die ich gefunden habe, sagt zu:

int currentLine = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);

Aber richTextBox1.SelectionStart nur aktualisiert, wenn Sie änderungen am text. Wenn Sie den cursor bewegen Sie mit den Pfeiltasten, es aktualisiert sich nicht (ich habe überprüft dies durch den Druck SelectionStart als ich mich bewegen).

Wie bekomme ich die aktuelle Zeile des Cursors in einer Weise, die tracks, selbst wenn Sie verwenden Sie die Pfeiltasten, um den cursor zu bewegen um?

Ich bin mit VS2012 in Win8.

Edit: terrybozzio Antwort zeigte das problem. Für alle anderen mit diesem problem, kann man nicht den code in richTextBox1_TextChanged. Sie brauchen, um es in richTextBox1_SelectionChanged.

  • In welchem Ereignis rufst du die Methode?
  • Ich war in der Lage, um zu sehen, die Auswahl beginnen ändern Sie einfach, wenn ich zog den Pfeil-Tasten.
  • Können Sie nicht, setzen Sie das Häkchen in das keydown-Ereignis? Dann wird das update, wenn Sie es bewegen mit den Pfeiltasten.
  • Ich Tue es in: richTextBox1_TextChanged. Oh, wie ich sehe. Das war dumm von mir.
InformationsquelleAutor PThomasCS | 2013-07-28
Schreibe einen Kommentar