Контрола уноса на нивоу поља за унос података¶
Поред класичне контроле TextBox, Windows Forms (.NET Framework) пружа
специјализоване контроле које ограничавају унос већ у тренутку куцања, чиме
значајно смањују потребу за накнадном валидацијом. Неке од њих су:
MaskedTextBox,DateTimePickerиMonthCalendar.
Ове контроле обезбеђују унапред дефинисан шаблон уноса, избор вредности из календара и друге облике контроле уноса који су поузданији и интуитивнији за корисника.
Контрола MaskedTextBox¶
Контрола MaskedTextBox омогућава креирање поља за унос које следи унапред
дефинисан шаблон (маску), нпр. за број телефона, ЈМБГ, датум итд. На пример,
маска за број телефона може изгледати овако:
maskedTextBox.Mask = "000-00-000-0000";
Овим се дозвољава унос тачно 12 цифара у датом формату, где карактер 0 у
маски означава обавезну цифру. Валидан унос био би нпр. 381-63-123-4567.
Поред карактера 0 уобичајени карактери које можеш користити приликом
дефинисања маске су:
9за опционалну цифру,Lза обавезно слово (A–Z),?за опционално слово,Aза обавезан алфанумерички карактер, иCза било који опциони карактер.
Корисне додатне опције ове контроле су PromptChar којом се дефинише симбол
који се користи као замена за празне позиције и TextMaskFormat којом се
одређује да ли се у Text својству враћају и знакови попут цртица. На пример:
maskedTextBox.PromptChar = '_';
maskedTextBox.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;
Контрола DateTimePicker¶
Контрола DateTimePicker је посебно дизајнирана контрола за унос датума и/или
времена. Уместо да корисник ручно куца датум, користи падајући календар.
Подешавања ове контроле су прилично једноставна…
dateTimePicker1.Format = DateTimePickerFormat.Short;
…а уместо вредности Short, можеш користити и:
Long, нпр.22. јун 2025.,Time, само за време, нпр.14:30, илиCustom, за потпуну контролу над форматом.
Пример прилагођеног формата може да буде датум у формату ДД.ММ.ГГГГ. – на пример:
dateTimePicker.Format = DateTimePickerFormat.Custom;
dateTimePicker.CustomFormat = "dd.MM.yyyy.";
Контрола MonthCalendar¶
Контрола MonthCalendar омогућава избор датума (или више датума) преко
класичног календара. Основно подешавање подразумева избор једног датума…
monthCalendar.MaxSelectionCount = 1;
…а можеш користити и својства:
SelectionStartза први изабрани датум,SelectionEndза последњи изабрани датум, иTodayDateза тренутни датум.
Употребом специјализованих контрола, као што су MaskedTextBox,
DateTimePicker и MonthCalendar, можеш унапред ограничити начин уноса
података и тако смањити број грешака и потребу за накнадном валидацијом. У
наредним лекцијама научићеш да радиш са датумом и временом као типовима
података, а не само као контролама за унос у UI.