C #: Как предотвратить прокрутку содержимого текстового поля при вводе? - PullRequest
2 голосов
/ 15 марта 2011

Я пытаюсь изменить размер во время выполнения высоты текстового поля, когда пользователь нажимает клавишу «Ввод».

Изменение размера работает хорошо, но проблема возникает из-за того, что нажатие клавиши «Ввод» приводит к выводу текста «вверх» на одну строку.

Другими словами, если бы мое текстовое поле содержало две строки, только 2-я была бы видимой после нажатия клавиши «Ввод».

Размер текстового поля будет изменен корректно, а символ перевода строки будет расположен на новой строке, но все содержимое текстового поля не будет видно, пока текстовое поле не потеряет фокус

Кто-нибудь знает, почему это происходит? Есть ли способ предотвратить автоматическую прокрутку текста в текстовом поле при нажатии Enter? (в процессе скрытие первой строки и создание недоступной строки в текстовом поле).

Спасибо

1 Ответ

1 голос
/ 15 марта 2011

Я предполагаю, что вы обрабатываете событие KeyPress текстового поля, чтобы изменить размер. Убедитесь, что вы отменили событие (e.Handled = true) в своем обработчике - это предотвратит применение клавиши Enter к тексту внутри текстового поля (клавиша Enter добавляет CRLF в конец свойства Text текстового поля, что и вызывает прокрутку вверх).

...