Hello,
Your problem resides in the logic of your IF construction.
You should try to initialize the "txtResult" to the worst case scenario before the loop and change its value inside the loop only if you effectively find the value.
Also, I would take the extraction of the inpu outside of the loop.
txtResult.Text = "Sorry, Try again"
input = txtInput.Text.ToLower
For count As Integer = 0 to 25
If input.Equals(lower(count)) Then
txtResult.Text = "Correct"
Exit For
End If
Next
Your problem is that since you keep looping even when you have found the value entered by the user it is overriden in the next loops unless the value entered is Z.
input -> A
loop 0 -> Correct
loop 1 -> Sorry
loop 2 -> Sorry ...
Whereas when Z is entered:
input -> Z
loop 0 -> Sorry
loop 1 -> Sorry
....
loop 25 -> Correct
The "Exit For" instruction I have added in the loop when the value is found makes sure you stop looping.
Hope this explanation helps you.