Domanda Risolto Evento KeyPress in C#

Stato
Discussione chiusa ad ulteriori risposte.

minotaurus7

Utente Silver
30 Gennaio 2013
44
19
2
64
Salve a tutti.....
Su una textbox, dopo aver scritto dei numeri, vorrei convalidare ciò che è stato scritto con il tasto invio nell'evento KeyPress... solo che non funziona e non comprendo il motivo.
posto il codice se per favore qualcuno mi fa comprendere dove sbaglio..... grazie.

C#:
private void risultato1_KeyPress(object sender, KeyPressEventArgs e)
        {
            
            if (e.KeyChar == (char)Keys.Enter)
            {
                e.Handled = true;
                somma_comparativa = Int32.Parse(risultato1.Text);
                if (addend1 + addend2 == somma_comparativa)
                {
                    risultato1.BackColor = Color.Aquamarine;
                    risultato2.Focus();

                }
            }
        }
 
Ciao Minotauros7.

da quello che ho capito te vorresti colorare la text box di blu quando il valore al suo interno corrisponde alla somma dei due campi indicati giusto?
In questo caso ti consiglierei di usare l’evento Leave ossia all’uscita dal campo, fai il controllo della somma e nel caso imposti il backcolor.
Se vuoi forzare alla pressione del campo enter l’uscita dal campo puoi farlo in questo modo: SendKeys.Send(“{TAB}”).
Secondo me è più corretto controllare alla Leave del campo, anche perché l’evento KeyPress viene scatenato alla pressione di ogni tasto.
Spero di esserti stato utile.
Buona giornata
 
Grazie per la tua risposta.....
il problema era che non funzionava il KeyPress.... e non riuscivo a capire il perchè....
poi finalmente sono riuscito a capire il perchè.
comunque grazie mille DVisione per la tua risposta.
 
Grazie per la tua risposta.....
il problema era che non funzionava il KeyPress.... e non riuscivo a capire il perchè....
poi finalmente sono riuscito a capire il perchè.
comunque grazie mille DVisione per la tua risposta.
Di nulla figurati.
Segna il post come risolto.
Buona giornata.
 
Stato
Discussione chiusa ad ulteriori risposte.