I am new to vb net and I was trying to create a program that checks 2 text box inputs:
I have experience in MS Access vba where we can force input box to only accept numbers. But I found out that this was not possible in VB.net. So I did some research for integer cheking and came up with this:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.txtTeam1.Text = 0
Me.txtTeam2.Text = 0
End Sub
Private Sub txtTeam1_TextChanged(sender As Object, e As EventArgs) Handles txtTeam1.TextChanged
If checkType(Me.txtTeam1.Text) = True Then
changeBackColor()
Else
MessageBox.Show("Invlaid Entry", "Please Enter a number")
End If
End Sub
Private Sub txtTeam2_TextChanged(sender As Object, e As EventArgs) Handles txtTeam2.TextChanged
If checkType(Me.txtTeam2.Text) = True Then
changeBackColor()
Else
MessageBox.Show("Invlaid Entry", "Please Enter a number")
End If
End Sub
Function changeBackColor()
Try
If Convert.ToInt32(Me.txtTeam1.Text) < Convert.ToInt32(Me.txtTeam2.Text) Then
Me.txtTeam1.BackColor = Color.Gray
Me.txtTeam2.BackColor = Color.Green
ElseIf CInt(Me.txtTeam1.Text) > CInt(Me.txtTeam2.Text) Then
Me.txtTeam1.BackColor = Color.Green
Me.txtTeam2.BackColor = Color.Gray
Else
'Both are equal
Me.txtTeam1.BackColor = Color.Gray
Me.txtTeam2.BackColor = Color.Gray
End If
Catch ex As Exception
MessageBox.Show("Invlaid Entry", "Please Enter a number")
End Try
End Function
Function checkType(num As String) As Boolean
Try
Convert.ToInt32(num)
Return True
Catch ex As Exception
Return False
End Try
End Function
End Class
However, as soon as the form loads I get the invalid entry message box even though the default value is 0. Even when I enter a valid number in either of the text box I get the invalid input message