Поделиться через


ContentControlBase.Validating - событие

Происходит при проверке содержимого элемента управления.

Пространство имен:  Microsoft.Office.Tools.Word
Сборка:  Microsoft.Office.Tools.Word (в Microsoft.Office.Tools.Word.dll)

Синтаксис

'Декларация
Event Validating As CancelEventHandler
event CancelEventHandler Validating

Заметки

Событие Validating происходит при потере элементом управления фокуса. Чтобы проверить, является ли текст в элементе управления допустимым в соответствии с выбранными условиями, создайте обработчик событий Validating. Например, при использовании элемента управления содержимым с номером телефона можно проверить, что элемент управления содержит только допустимые знаки (цифры, скобки, дефисы). Если содержимое не является допустимым, можно отменить событие и вернуть фокус элементу управления, присвоив свойству Cancel параметра CancelEventArgs обработчика событий значение true. Практический результат заключается в том, что пользователь не сможет пропустить этот элемент управления, пока не введет допустимый текст.

Чтобы выполнить код после успешной проверки элемента управления содержимым, создайте обработчик событий Validated.

Примеры

В приведенном ниже примере кода демонстрируются обработчики событий Validating и Validated. После того, как конечный пользователь изменит текст в элементе управления содержимым, обработчик событий Validating с помощью регулярного выражения проверит текст на наличие целых чисел.

В данном примере предполагается, что в документе содержится элемент управления PlainTextContentControl с именем plainTextContentControl1. Чтобы воспользоваться этим кодом, вставьте его в проекте в класс ThisDocument. В C# также необходимо присоединить обработчики событий к событиям Validated и Validating элемента управления plainTextContentControl1.

В этом примере демонстрируется настройка уровня документа.

Private Sub plainTextContentControl1_Validating(ByVal sender As Object, _
    ByVal e As System.ComponentModel.CancelEventArgs) _
    Handles PlainTextContentControl1.Validating

    Dim control As Microsoft.Office.Tools.Word.PlainTextContentControl = _
        TryCast(sender, Microsoft.Office.Tools.Word.PlainTextContentControl)

    If control IsNot Nothing Then
        Dim regex As New System.Text.RegularExpressions.Regex("\d")
        If regex.IsMatch(control.Text) Then
            MessageBox.Show("Invalid name. Names cannot contain integers.")
            e.Cancel = True
        End If
    End If
End Sub

Private Sub plainTextContentControl1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles PlainTextContentControl1.Validated

    MessageBox.Show("The name is valid.")
End Sub
void plainTextContentControl1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
    Microsoft.Office.Tools.Word.PlainTextContentControl control =
        sender as Microsoft.Office.Tools.Word.PlainTextContentControl;

    if (control != null)
    {
        System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\d");
        if (regex.IsMatch(control.Text))
        {
            MessageBox.Show("Invalid name. Names cannot contain integers.");
            e.Cancel = true;
        }
    }
}

void plainTextContentControl1_Validated(object sender, EventArgs e)
{
    MessageBox.Show("The name is valid.");
}

Безопасность платформы .NET Framework

См. также

Ссылки

ContentControlBase Интерфейс

Microsoft.Office.Tools.Word - пространство имен