Елемент управління 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 | Дозволяє вводити цифри та пробіли |
# | Дозволяє вводити цифри, пробіли і знак |
L | Дозволяє вводити тільки текстові символи |
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