Пример. Работа с элементом управления MaskedTextBox
В этом пошаговом руководстве демонстрируется выполнение следующих задач.
Инициализация элемента управления MaskedTextBox.
Использование обработчика событий MaskInputRejected для оповещения пользователя, когда знак не соответствует маске
Присвоение типа свойству ValidatingType и использование обработчика событий TypeValidationCompleted для оповещения пользователя в случаях, когда передаваемое значение имеет недопустимый тип
Создание проекта и добавление элемента управления
Для добавления элемента управления MaskedTextBox в форму
Откройте форму, в которую нужно поместить элемент управления MaskedTextBox.
Перетащите элемент управления MaskedTextBox из панели элементов в форму.
Щелкните элемент управления правой кнопкой мыши и выберите Свойства. В окне Свойства выберите свойство Маска и нажмите кнопку ... (многоточие) рядом с именем свойства.
В окне Маска ввода выберите Краткий формат даты и нажмите кнопку ОК.
В окне Свойства присвойте свойству BeepOnError значение true. Это свойство создает короткий звуковой сигнал всякий раз, когда пользователь пытается ввести знак, нарушающий определение маски.
Сводка символов, поддерживаемых свойством маски, приведена в разделе "Примечания" для свойства Mask.
Оповещение пользователя об ошибках ввода
Добавьте всплывающую подсказку об отклоненном вводе
Вернитесь в область элементов и добавьте ToolTip в форму.
Создайте обработчик событий MaskInputRejected, создающий ToolTip в случае ошибок ввода. Всплывающая подсказка отображается в течение пяти секунд или до тех пор, пока ее не щелкнет пользователь.
public void Form1_Load(Object sender, EventArgs e) { ... // Other initialization code maskedTextBox1.Mask = "00/00/0000"; maskedTextBox1.MaskInputRejected += new MaskInputRejectedEventHandler(maskedTextBox1_MaskInputRejected) } void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e) { toolTip1.ToolTipTitle = "Invalid Input"; toolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", maskedTextBox1, maskedTextBox1.Location, 5000); }
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.ToolTip1.IsBalloon = True Me.MaskedTextBox1.Mask = "00/00/0000" End Sub Private Sub MaskedTextBox1_MaskInputRejected(sender as Object, e as MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected ToolTip1.ToolTipTitle = "Invalid Input" ToolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", MaskedTextBox1, 5000) End Sub
Оповестите пользователя о том, что введен знак недопустимого типа
Добавьте всплывающую подсказку о недопустимых типах данных
В обработчике событий Load формы назначьте объект Type, представляющий тип DateTime свойству ValidatingType элемента управления MaskedTextBox:
private void Form1_Load(Object sender, EventArgs e) { // Other code maskedTextBox1.ValidatingType = typeof(System.DateTime); maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted); }
Private Sub Form1_Load(sender as Object, e as EventArgs) // Other code MaskedTextBox1.ValidatingType = GetType(System.DateTime) End Sub
Добавьте обработчик событий TypeValidationCompleted.
public void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e) { if (!e.IsValidInput) { toolTip1.ToolTipTitle = "Invalid Date Value"; toolTip1.Show("We're sorry, but the value you entered is not a valid date. Please change the value.", maskedTextBox1, 5000); e.Cancel = true; } }
Public Sub MaskedTextBox1_TypeValidationCompleted(sender as Object, e as TypeValidationEventArgs) If Not e.IsValidInput Then ToolTip1.ToolTipTitle = "Invalid Date Value" ToolTip1.Show("We're sorry, but the value you entered is not a valid date. Please change the value.", maskedTextBox1, 5000) e.Cancel = True End If End Sub
См. также
Ссылки
Другие ресурсы
Элемент управления MaskedTextBox (Windows Forms)
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
сентябрь 2010 г. |
Добавлена ссылка на свойство Mask, в котором перечисляются символы, поддерживаемые свойством маски. |
Обратная связь от клиента. |