我如何验证vb.net中的文本框,以便在输入除字母之外的任何内容时显示错误消息
答案 0 :(得分:3)
您可以检查文本字符串,即textbox1.text,以确保它除.Leave事件中的字母字符外没有任何内容。例如,当用户选中下一个控件时,这将捕获错误。您可以使用正则表达式(对于此示例导入System.Text.RegularExpressions)执行此操作,或者您可以“手动”检查文本。
Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
If Not Regex.Match(TextBox1.Text, "^[a-z]*$", RegexOptions.IgnoreCase).Success Then
MsgBox("Please enter alpha text only.")
TextBox1.Focus()
End If
End Sub
如果您想在按下非字母键后立即停止用户,则可以使用TextChanged事件而不是.Leave事件。
答案 1 :(得分:1)
带有正则表达式的CustomFieldValidator。
答案 2 :(得分:1)
如果它是WinForms应用程序中的标准文本框,您可以通过处理KeyPressed
事件来验证每个键入的字符,并在事件处理程序中包含以下代码:
e.Handled = Not Char.IsLetter(e.KeyChar)
用户仍然可以使用鼠标将某些东西粘贴在那里,所以你可能也需要处理它。
另一个选项是处理Validating
事件,如果文本框包含任何非字母字符,则将e.Cancel
设置为true。