Как вы обнаруживаете, что ввод текста ctrl-v вставляется в текстовое поле winforms? - PullRequest
0 голосов
/ 09 декабря 2010

Я создаю свой собственный элемент управления комментарием, который наследуется от текстового поля winforms. Одна из вещей, которую он делает, - запрещает пользователям вводить какие-либо символы, если достигнут предел. Таким образом, на событии нажатия клавиши я просто беру входящий ключ (исключая delete и backspace) и добавляю его к тому, что уже есть в текстовом поле, затем проверяю и вижу, какова длина. Если все кончено, тогда я просто устанавливаю e.Handled = true и нажатие клавиши останавливается. Эта схема не работает, хотя при входящем событии ctrl-v paste. Он регистрируется как один вводимый ключевой символ. Таким образом, вставка не пройдет, если я нахожусь на пределе, но она прекратится, если останется один символ места, и, например, в вставке будет два или более символов.

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

Спасибо!

1 Ответ

3 голосов
/ 09 декабря 2010

Это такой праздный вопрос. Вы можете просто установить свойство MaxLength текстового поля, и это предотвращает все это. Duh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...