В приложении 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, в то время как диалог, открываемый многоточием в том же свойстве, устанавливает его.