Почему замаскированное текстовое поле не работает 00-00-1900? - PullRequest
1 голос
/ 27 января 2012

Я новичок в WinForms.

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

Я хочу маску 00-00-1900, где 00 обрабатывает любое число, но 19 является фиксированным и не может быть перезаписано пользователем. Как мне это сделать?

Примерами правильного ввода являются 19-12-1988 и 12-01-1958.

Ответы [ 3 ]

1 голос
/ 27 января 2012

00-00-1900 в Mask Take - -1 ___ Поскольку 0 и 9 - это маскированный текст, который ссылается на цифру.

0 - Требуется цифра. Этот элемент будет принимать любую одну цифру между 0 и 9.

9 - цифра или пробел, необязательно.

Вы просто щелкаете правой кнопкой мыши по замаскированному текстовому полю и переходите к свойству. Нажмите и измените маску на 00-00-1 \ 900.

Вы получите то, что хотите.

1900 to 1999 in 1900.
1 голос
/ 27 января 2012

0 Требуется цифра.Этот элемент будет принимать любую одну цифру от 0 до 9.

9 Цифра или пробел, необязательно.

\ Escape.Спасается маска персонажа, превращая его в буквальный.«\» является escape-последовательностью для обратной косой черты.

http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask.aspx

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

Так что я думаю, ваша маска должна быть 00-00-1\900, которую я бы написал как @"00-00-1\900" в коде C #.

0 голосов
/ 27 января 2012

Взгляните на это , см. Раздел замечаний. К сожалению, в нем не указано, можете ли вы исправить 19 аспект последних четырех цифр - вам может потребоваться написать свои собственные проверки для обеспечения этого.

...