У меня есть программа Windows Forms C#, которая имеет контроль RichTextBox. Каждый раз, когда текст в поле изменяется (кроме ввода того изменения), курсор возвращается к началу.
Другими словами, когда текст в RichTextBox изменяется при помощи текстового свойства, это заставляет курсор перейти назад.
Как я могу сохранить курсор в том же положении или переместить его наряду с отредактированным текстом?
Спасибо
Вы можете сохранить позицию курсора до внесения изменений, а затем восстановить ее после:
int i = richTextBox1.SelectionStart;
richTextBox1.Text += "foo";
richTextBox1.SelectionStart = i;
Вы можете сделать то же самое с SelectionLength, если не хотите удалять выделение. Обратите внимание, что это может привести к странному поведению, если вставленный текст находится внутри выделения. Тогда нужно будет расширить выделение на длину вставленного текста.