Windows Forms RichTextBox-Cursorposition

8

Ich habe ein C # Windows Forms-Programm mit einem RichTextBox-Steuerelement. Immer wenn der Text in der Box geändert wird (außer der Änderung), springt der Cursor an den Anfang zurück.

Mit anderen Worten, wenn der Text in der RichTextBox mit der Eigenschaft Text geändert wird, springt der Cursor zurück.

Wie kann ich den Cursor an der gleichen Position halten oder mit dem bearbeiteten Text verschieben?

Danke

    
QAH 11.02.2010, 02:36
quelle

3 Antworten

12

Sie können die Cursorposition speichern, bevor Sie die Änderung vornehmen, und sie anschließend wiederherstellen:

%Vor%

Sie können dasselbe auch mit SelectionLength machen, wenn Sie die Hervorhebung nicht entfernen möchten. Beachten Sie, dass dies zu merkwürdigem Verhalten führen kann, wenn der eingefügte Text in der Auswahl enthalten ist. Dann müssen Sie die Auswahl erweitern, um die Länge des eingefügten Textes einzuschließen.

    
Mark Byers 11.02.2010, 02:45
quelle
2

Seien Sie vorsichtig, wenn jemand den RichTextBox-Inhalt vollständig aktualisiert oder ändert, muss die Fokusmethode zuvor aufgerufen werden, um das Caret zu verschieben:

%Vor%     
GoRoS 23.06.2011 16:31
quelle
0

Hier ist ein kleinerer, der den gleichen Effekt hat. %Code% Dies markiert 0 Zeichen am Ende des Textes und setzt den Cursor auf Ende

    
justJulian 17.05.2016 14:16
quelle

Tags und Links