RichTextBox неправильно обновляет позицию каретки - PullRequest
0 голосов
/ 20 апреля 2010

У меня есть обработчик, использующий событие keyDown WinForms RTB, который имеет следующий код:

GetTextAtLoc(RTB->SelectionStart); // selects some text at the caret's position
RTB->SelectedText = "SomeOfMyOwn";
GetTextAtLoc(RTB->SelectionStart); // selects the replacement string
RTB->SelectionStart += RTB->SelectionLength - 1;

Хотя этот код, кажется, выполняет свою работу (свойства SelectionStart / Length обновляются правильно), каретка не перемещается в конец новой строки - она ​​говорит, где она была во время первого вызова GetTextAtLoc. Перерисовка текстового поля также не оказывает никакого влияния.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2010

Проблема, похоже, исправлена. Не знаю, что привело к изменению, к сожалению. Закрытие этой темы.

0 голосов
/ 20 апреля 2010

Вы не указали новую длину (и для этого: 1-1 = 0). Попробуйте что-то вроде:

SelectionStart + = (length ("SomeOfMyOwn"))

...