Usa il tag CODE per formattare il codice, altrimenti non ci si capisce nulla in quanto viene persa l'indentazione.

In secondo luogo, diagnosticare questi problemi in genere è molto semplice: basta inserire un breakpoint nella posizione incriminata ed eseguire il programma passo per passo per individuare ciò che avviene nel modo inaspettato e porre rimedio.

Il codice sembrerebbe ok, o almeno non sono in grado di notare la svista, ma dato il comportamento della tua applicazione, è senz'altro presente qualcosa che altera la condizione.

Il debugging è comunque un'attività fondamentale da apprendere per poter diagnosticare correttamente i problemi nelle proprie applicazioni.

Ciao!