Сбросить значение ValidatingType MaskedTextBox в конструкторе форм Win

В приложении Windows Forms я добавляю в форму MaskedTextBox. Щелчок по многоточию на свойстве «Маска» открывает диалоговое окно «Маска ввода». В нем я установил маску на короткую дату, оставив флажок Use ValidatingType установленным.

Это приводит к появлению следующих двух строк в коде, созданном дизайнером;

this.maskedTextBox1.Mask = "00/00/0000";
this.maskedTextBox1.ValidatingType = typeof(System.DateTime);

Теперь, когда я хочу отменить это изменение, я ожидаю, что смогу щелкнуть правой кнопкой мыши свойство Mask элемента управления и выбрать Reset. Это сбрасывает само свойство Mask, но оставляет свойство ValidatingType нетронутым. Поскольку само свойство ValidatingType не отображается в конструкторе, похоже, нет способа сбросить это свойство с помощью конструктора.

Я также попытался вернуться в диалоговое окно «Маска ввода» и установить для маски значение <Custom>, которое не имеет проверяющего типа, но по-прежнему сохраняет существующий ValidatingType в сгенерированном дизайнером коде.


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


Обновить

Основываясь на ответе Ганса, я нашел другой способ. После щелчка правой кнопкой мыши на свойстве Mask и выбора Reset, только само свойство Mask очищается. В диалоговом окне «Маска ввода», которое появляется после щелчка по многоточию, задаются свойства Mask и ValidatingType.

Итак ... использования Reset недостаточно. После использования Reset вам нужно снова войти в диалоговое окно Input Mask и нажать Ok.

Я все еще чувствую, что это немного глючит, что Reset не сбрасывает ValidatingType, в то время как диалог, открываемый многоточием в том же свойстве, устанавливает его.


person comecme    schedule 17.01.2011    source источник


Ответы (2)


Просто снимите флажок «Использовать ValidatingType» в диалоговом окне задачи.

person Hans Passant    schedule 17.01.2011
comment
Вы имеете в виду, сначала установите маску как короткую дату, но теперь без флажка Use Validating Type. Затем очистите саму маску. Это действительно работает. - person comecme; 18.01.2011

Единственный способ, который я нашел для этого через конструктор, - это выбрать один из набранных вариантов «нет», например «Телефон», кроме <Custom>. Это избавляет от вызова ValidatingType из кода, созданного дизайнером.

Оттуда вы можете вручную ввести другую маску. Поведение определенно необычное.

person msergeant    schedule 17.01.2011