Позиция курсора Windows Forms RichTextBox

У меня есть программа Windows Forms C#, которая имеет контроль RichTextBox. Каждый раз, когда текст в поле изменяется (кроме ввода того изменения), курсор возвращается к началу.

Другими словами, когда текст в RichTextBox изменяется при помощи текстового свойства, это заставляет курсор перейти назад.

Как я могу сохранить курсор в том же положении или переместить его наряду с отредактированным текстом?

Спасибо

11
задан default locale 29 July 2014 в 12:41
поделиться

1 ответ

Вы можете сохранить позицию курсора до внесения изменений, а затем восстановить ее после:

int i = richTextBox1.SelectionStart;
richTextBox1.Text += "foo";
richTextBox1.SelectionStart = i;

Вы можете сделать то же самое с SelectionLength, если не хотите удалять выделение. Обратите внимание, что это может привести к странному поведению, если вставленный текст находится внутри выделения. Тогда нужно будет расширить выделение на длину вставленного текста.

14
ответ дан 3 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: