Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Скрытие необязательных значений в MaskedTextBox


Автор: NikeDeForest 21.9.2009, 11:14
Вопрос такой.
Вот допустим описыаем маску для телефона по такому принципу

Код

maskedTextBox1.Mask("(99000)990-00-00");


Маска  с точки зрения связиста совсем и не верна, но тем не менее большинство людей привыкли пользоваться таким форматом.
Итак, этот форма означает, что в поле кода должно быть не менее трех символов и не более 5, при чем три будуд обязательно, а вот 4 и 5 уже в зависимости от населенного пункта.
Следующее поле по-любому должен быть ожин символ и не более трех. Ну и так далее.
Вот как это отображается в МаскТекстБоксе
(_____)  ___ - __ - __
 (5 шт) (3шт)

Мне бы хотелось, чтобы первоначально необязательные символы не отображалисьь виде подчеркивания,т.е. чтобы они появлялись по мере необхождимости их ввода, т.е. чтобы вид был таким
(___) _ - __ - __
(3шт) 1шт
Возможно ли этого достичь штатными настройками МаскТекстБокса, т.е. чтобы не перепрограммировать его.

Автор: niteo 21.9.2009, 11:48
Измени символ подчеркивания на пробел.
http://ipicture.ru/

Автор: NikeDeForest 21.9.2009, 11:59
это будет для всех символов. А можно изменить этот символ только для необязательных символов?

Автор: niteo 21.9.2009, 12:51
Цитата(NikeDeForest @  21.9.2009,  11:14 Найти цитируемый пост)
Возможно ли этого достичь штатными настройками МаскТекстБокса, т.е. чтобы не перепрограммировать его. 

Штатными настройками ты такого не получишь. Необходимо самому смотреть содержимое поля....

Автор: NikeDeForest 22.9.2009, 07:18
да, если такое делать, то самому. Спасибо что ототкликнулся.
Кстати, у меня диалог настройки MaskedTextBox немного другой. У тебя не 2008 Студия или доставлял какую-то библиотеку контрлов?

Автор: niteo 22.9.2009, 14:39
Нет. у меня Delphi 7. smile Пока его хватает для моих нужд.
Мне кажется что это даже совсем не сложно. Перехватывай ввод в контрол, и сам пиши в него данные.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)