messagebox弹出两次(regex)
这就是我的问题,所以当我在messagebox弹出两次(regex),regex,vb.net,Regex,Vb.net,这就是我的问题,所以当我在txtFullNameAdminAddPatientTextbox中输入一个数字时,它会弹出一个messagebox,显示“请只输入数字。但问题是,为什么它会弹出两次messagebox?提前感谢 If (Not (System.Text.RegularExpressions.Regex.IsMatch(txtFullNameAdminAddPatientPage.Text, "^[a-zA-Z\s]+$"))) Then txtFullNam
txtFullNameAdminAddPatientTextbox
中输入一个数字时,它会弹出一个messagebox
,显示“请只输入数字。但问题是,为什么它会弹出两次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
如果您使用此代码进行验证。请将此代码添加到文本框的LostFocus事件中。使用验证事件和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
它是否与事件相关?可能是因为您正在将
文本框的文本设置为空字符串,这也不符合正则表达式。当然,您可以随时调试代码并自己找出答案。此外,请删除不光彩的标签垃圾邮件。滥用标签以吸引更多人查看在这里,你不必要的问题并不是交朋友的方式。你没有徽章表明你在注册时忽略了浏览网站的提示,因此你一点也不努力。你应该花一些时间在帮助中心学习如何正确使用此网站,否则你可能会发现你的问题被关闭它很快就出现了。我打赌它是在TextChaned
事件中出现的。这将解释两次显示的消息框。您是否需要使用正则表达式?使用.TryParse看起来会简单得多。@chelsea如果我的答案对您来说是一个解决方案,请单击答案左侧的复选标记(勾号)接受它。