окно сообщения появляется дважды (регулярное выражение) - PullRequest
0 голосов
/ 09 апреля 2020

вот моя проблема, поэтому, когда я набираю di git в txtFullNameAdminAddPatientTextbox, появляется messagebox, показывающее «пожалуйста, введите только di git. Но проблема в том, почему выскакивает messagebox ДВАЖДЫ? заранее спасибо

 If (Not (System.Text.RegularExpressions.Regex.IsMatch(txtFullNameAdminAddPatientPage.Text, "^[a-zA-Z\s]+$"))) Then
            txtFullNameAdminAddPatientPage.Text = ""
            MessageBox.Show("Please only enter digit.")
        End If

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Используйте событие Validating и класс ErrorProvider.

Private err As New ErrorProvider()

Private Sub txtFullNameAdminAddPatientPage_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtFullNameAdminAddPatientPage.Validating
    If Not Integer.TryParse(txtFullNameAdminAddPatientPage.Text, Nothing) Then
        e.Cancel = True
        err.SetError(TextBox1, "This text box must be a number.")
    Else
        err.Clear()
    End If
End Sub
0 голосов
/ 09 апреля 2020

Если вы используете этот код для проверки. Добавьте этот код в событие LostFocus текстового поля.

...