regex - 消息框弹出两次(正则表达式)
问题描述
所以这是我的问题,所以当我在 中输入一个数字时txtFullNameAdminAddPatientTextbox
,它会弹出一个messagebox
显示“请只输入数字。但问题是,为什么它会弹出messagebox
TWICE?提前谢谢
If (Not (System.Text.RegularExpressions.Regex.IsMatch(txtFullNameAdminAddPatientPage.Text, "^[a-zA-Z\s]+$"))) Then
txtFullNameAdminAddPatientPage.Text = ""
MessageBox.Show("Please only enter digit.")
End If
解决方案
使用 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
推荐阅读
- java - 尝试以编程方式创建表时出现 java.lang.NullPointerException 错误
- java - Java MineSweeper 未将炸弹数向右
- javascript - 将此 NodeJs 套接字连接转换为 Python
- java - 反应堆核心:无限通量不适用于多个订阅者
- time-complexity - 快速排序欧米茄符号
- python - 有界的正态变量?
- surveyjs - 如何使用 POST 设置 SurveyJS 调查的结果?
- mysql - 错误 1415:不允许从函数返回结果集
- android - Android 应用程序在创建数据库时停止
- where-clause - 关键字 - FFL: Where vs. Let