If Not IsNumeric(txtNumberOne.Text) Then
MsgBox("Please Enter A Valid Number For Number One")
txtNumberOne.Clear()
Exit Sub
ElseIf txtNumberOne.Text = 0 Then
MsgBox("Please Enter A Valid Number For Number One")
txtNumberOne.Clear()
Exit Sub
ElseIf txtNumberOne.Text > 0 And IsNumeric(txtNumberOne.Text) Then
NumberOne = txtNumberOne.Text
End If
Третий If лишний.Мы знаем, что это должен быть IsNumeric, так как он прошел первый If, и мы знаем, что он не может быть 0, поскольку он прошел второй If.(Вы также не делаете никаких скидок, если это оказывается отрицательным)
Теперь, с тех пор, как я в последний раз занимался VB.Net, прошло довольно много времени, но я почти уверен, что между строками и строкойцелые числа, что означает, что txtNumberOne.Text = 0
не должен даже компилироваться.
А также, почему вы заставляете своих пользователей угадывать, что такое "действительное число"?
Dim numberOne as Integer
If IsNumeric(txtNumberOne.Text) Then
numberOne = CInt(txtNumberOne.Text)
else
numberOne = -1;
End If
If numberOne < 1
MsgBox("Please Enter A Positive Number For Number One")
txtNumberOne.Clear()
Exit Sub
End If