代码应显示符合条件的所有数字。它不完整,但我无法弄清楚为什么它在列表框中显示大于10的数字。例如,我将在文本框中键入2,MessageBox将显示该数字必须大于3,并且它不会在列表框中显示该数字。如果我输入一个大于10的数字,它将显示MessageBox,说明该数字必须大于10,但它会在列表框中显示。我不知道为什么。
if ((nodeName === "input" && event.target.type === "text") ||
nodeName === "textarea") {
doPrevent = event.target.readOnly;
}
答案 0 :(得分:0)
您正在添加数字,因为如果数字大于10则没有Return False
。因此返回True。要解决您的问题,请按以下步骤更新您的代码。
ElseIf CInt(number) > 10 Then
MessageBox.Show("Number must be less than 10")
txtNumber.Focus()
Return False ''please add this statement
ElseIf CInt(number) < 3 Then
您可以重写以下功能。
Function DataOk() As Boolean
Dim number As Integer
Dim errMssg As String = ""
If txtNumber.Text.Trim = "" Then
errMssg = "Must not be blank"
ElseIf Not Integer.TryParse(txtNumber.Text.Trim, number) Then
errMssg = "Provide a valid number"
ElseIf number > 10 Then
errMssg = "Number must be less than 10"
ElseIf number < 3 Then
errMssg = "Number must be greater than 3"
End If
If errMssg = "" Then
Return True
Else
MessageBox.Show(errMssg)
Me.txtNumber.Focus()
Return False
End If
End Function