Представьте, что у вас есть RichTextBox со следующими строками и позицией каретки (|):
one
tw|o
Если вы удерживаете клавишу Shift, нажмите клавишу со стрелкой вверх, а затем нажмите клавишу «Конец» в RichTextBox, теперь у вас есть следующий выбор:
one
[tw]o
Это странно. Большинство текстовых полей будут выделяться с конца предыдущей строки, а не с начала текущей строки. Вот выбор, который вы получите в большинстве текстовых полей:
one[
tw]o
Кто-нибудь знает, как мне избежать этого странного поведения RichTextBox? Я попытался обработать случай, когда Shift и End удерживаются в OnKeyDown, а затем установил SelectionStart, но это не сработает.
Изменить:
Этот вопрос, по-видимому, вызвал некоторую путаницу, поэтому вот несколько скриншотов.
Желаемое поведение:
http://i.imgur.com/IYk3V.png
Фактическое поведение:
http://i.imgur.com/DqqId.png