2010-11-17 5 views
2

Привета Я использую следующую маску строку, чтобы обеспечить пользователь вводит правильный телефон неИспользования замаскированного текстового поля для подтверждения ввода

(99) -00000000

, который должен работать нормально для мобильных устройств, а также региональная земля номера строк в Австралии

Однако я столкнулся с проблемой, что пользователь может уйти без entring всех цифр

Я понимаю, что 9 представляет необязательную цифру от 0 до 9 и 0 представляет собой требуемую цифру от 0 до 9

Так как же, если я не вводить все последние восемь обязательных цифр программа по-прежнему показывать результаты как

(03) -6474

(03) - 63799

(02) -1 38 390

ответ

3

Потому что это просто заполнение пробелов слева направо по мере ввода. Несмотря на то, что первые две цифры являются необязательными, они заполняют их так же, как вы ввели их с первыми двумя введенными вами числами.

Если вам не нравится эта игра, вы можете легко подклассифицировать элемент управления MaskedTextBox и настроить его способ ввода клавиатуры. Вот несколько контрольных образцов, которые вызывают число запихнуть в справа налево, как и ожидалось:

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