2014-04-22 3 views
-3
textBox1.Text = textBox1.Text.Remove((textBox1.TextLength)-1); 

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

например. имя, которое я вводил, является «raja», оно удаляет последний символ «a» и производит значение «1raj» в TextBox.

+0

Что вы подразумеваете под неправильным характером и правильным характером? Попытка удалить повторяющиеся символы? Нам нужно увидеть еще какой-нибудь код. –

+0

Ваш вопрос непонятен. Не могли бы вы предоставить образцы ввода и вывода? Каков ожидаемый результат? – abhi

+0

Попробуйте с .Text.Lenght textBox1.Text = textBox1.Text.Remove (textBox1.Text.Length - 1); – MrMins

ответ

4

Событие KeyPress происходит до ввода нового символа в поле, а изменение его свойства Text перемещает курсор обратно в начало.

Вы можете использовать это событие, чтобы полностью игнорировать символ, установив e.Handled в true. Если у вас есть, чтобы изменить свойство Text, вы должны использовать значения SelectionStart и SelectionEnd, чтобы увидеть, где находился курсор, прежде чем вы изменили его и впоследствии восстановите значения.

0

Вы можете использовать String.Substring (index, length).

textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1); 
Смежные вопросы