Елемент управління MaskedTextBox

Елемент управління MaskedTextBox аналогічний звичайному текстовому полю, але на відміну від нього дозволяє задавати маску для тексту, що вводиться. За допомогою цього елемента керування можна контролювати інформацію, що вводиться і, в разі невідповідності, видавати повідомлення про помилку.

 

Рис.1. Елемент управління MaskedTextBox на панелі Toolbar

У таблиці 1 перераховані основні властивості елемента управління MaskedTextBox.

Таблиця 1. Властивості елемента управління MaskedTextBox

 Властивість Опис 
 AllowPromptAsInput  Визначає, чи може користувач вводити символ, вказаний у властивості PromptChar
 BeepOnError  Значення True цієї властивості задає використання системного звукового сигналу в разі неправильного введення будь-якого з символів
 CutCopyMaskFormat  Визначає, які символи, крім введених, копіюються з текстового поля: ExcludePromptAndLiterals (Ніякі), IncludeLiterals (Звичайні символи), IncludePrompt (Символи-підказки) і IncludePromptAndLiterals (Всі символи)
 HidePromptOnLeave  Визначає, чи будуть відображатися символи, зазначені у властивості PromptChar, при переході до іншого елементу форми
 Mask  Дозволяє за допомогою діалогового вікна Input Mask (Введіть маску) (рис. 2) задати маску, яка використовується при введенні в текстове поле
 MaskFull  Повертає значення True, якщо вся необхідна інформація була введена в текстове поле
 PromptChar  Задає символ, який позначає відсутність введеного символу в текстове поле
 TextMaskFormat  Визначає, яке значення приймає властивість Text. Ця властивість може приймати аналогічні властивості CutCopyMaskFormat значення

Примітка

На відміну від звичайного текстового поля, елемент управління MaskedTextBox не може бути багаторядковим і не підтримує перенесення слів.

Символи, які використовуються для задання маски, вказані в таблиці 2.

Примітка

Символи, які використовуються в якості роздільників при відображенні дати і числа, визначаються настройками культури додатку, що задається властивістю Thread.CurrentUICulture.

 

Рис. 2. Діалогове вікно Input Mask

Таблиця 2. Основні символи, використовувані для завдання маски

 Символ Опис 
 0 Дозволяє вводити тільки цифри 
9   Дозволяє вводити цифри та пробіли
 Дозволяє вводити цифри, пробіли і знак
 Дозволяє вводити тільки текстові символи
A   Дозволяє введення буквених і цифрових символів
 Задає позицію десяткового дробу
 Використовується для відділення цифр, що стоять зліва від десяткового дробу
 Використовується при вказівці часу для поділу годин, хвилин і секунд
/   Використовується при зазначенні дати для поділу року, місяця і дати
$ Cимвол валюти
< Перетворює всі символи, такі за даними символом, до нижнього регістру
> Перетворює всі символи, такі за даними символом, до верхнього регістру
| Використовується після символів < і > для задання закінчення їх дії

За допомогою наступного прикладу продемонструємо використання елемента управління MaskedTextBox для створення номера телефону і дати народження:

1. Додайте в формі дві мітки з текстовою інформацією Введіть номер телефону і Введіть дату народження відповідно.

2. Перенесіть на форму два елементи управління MaskedTextBox і задайте для них такі властивості:

 

 Name  Mask  PromptChar
 mtbBirthday  00/00/0000 _
 mtbPhone  (999) 000-0000

3. Щоб при введенні невірних символів з'являлося вікно з попередженням, додайте для елементів mtbBirthday і mtbPhone обробку події MaskInputRejected, що містить наступний код:

        MessageBox.Show("Неправильно введений символ в позиції " + _

                e.Position.ToString(), "Помилка введення", MessageBoxButtons.OK, _

                MessageBoxIcon.Warning)

Результат представлений на рис.3-4.

Рис.3-4. Використання елемента управління MaskedTextBox