Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка Windows Forms > Как сделать запрет на ввод в textbox букв? |
Автор: solnushko 18.5.2007, 23:34 |
Подскажите плиз!!! Как мне сделать в C# ограничение на ввод букв в textbox??? Просто в моей программе 12 textboxов и в них можно вводить только цифры! |
Автор: Ch0bits 19.5.2007, 01:44 | ||
Перехватываешь OnKeyDown у своих текстбоксов. Что-то типа этого:
|
Автор: Сарт 19.5.2007, 15:00 | ||||
Для запрещения ввода в textbox любых даннных кроме цифр мы должны в обработчике KeyPress для textbox'а присвоить свойству Handled передаваемого параметра типа System.Windows.Forms.KeyPressEventArgs значение true. Вот пример кода:
...
... тут нужна для того, чтобы разрешить ввод десятичного разделителя (точки в данном случае) - причем только одного: если десятичный разделитель уже существует, то вводить второй заперщено. |
Автор: KuZyagroup 19.5.2007, 16:35 |
Все гораздо проще. Юзай MaskedTextBox c Маской из "0". MaskedTextBox - спецальный контрл который создан для ограничения ввода в текст бокс |
Автор: AKRAS 6.6.2012, 21:23 |
А Как сделать что бы выводилось сообщение, для пользователя...что нужно вводить цифры?? |
Автор: neic 12.6.2012, 01:57 | ||
AKRAS А в чём проблема?
|
Автор: erm0l0v 14.6.2012, 09:58 | ||
как мне кажется:
не самый лучший вариант, представите что вы пишете какой текст в поле ввода, долго пишете и как обычно смотрите только на клавиатуру, а потом поднимаете глаза и видите что из-за ололо ошибки ваш ввод закончился на первых двух символах. Думаю вы будете мягко говоря недовольны. Можно просто запрещать ввод "неправильных" символов и где нибудь написать какие символы можно вводить например сверху над полем ввода или в всплывающей подсказке. Или можно разрешать вводить все символы, и одновременно проверять валидность данных, и в случае присутствия "неверных" символов подсвечивать поле красным или как то еще сигнализировать о не правильном вводе. Не знаю есть ли в WF автоматический механизм реализации Validate Error. Но в любом случае такое поведение не сложно реализовать. Например положить контрол в Border и менять цвет Bordera в зависимости от валидности сообщения. |
Автор: oleg_in62 20.6.2012, 17:01 | ||
вместо
лучше использовать errorProvider.SetError(control, "Ололо ошибка" ), тогда возле указанного контрола появится красный кружок с восклицательным знаком, при наведении на который, будет отображаться "Ололо ошибка", а чтобы кружок исчез сделать errorProvider.SetError(control, "" ). Один errorProvider можно использовать для всех текстбоксов, в этом случае можно разрешить ввод любых символов и отображать предупреждение, когда вводятся буквы и убирать когда текст изменяется на правильный. |
Автор: Ыумук 19.11.2014, 10:41 | ||||
Подскажите пожалуйста, а куда этот код ставить? У меня в программе несколько textBox'ов, необходимо, чтоб во всех появилось ограничение по вводимым в них символам. |