Sto cercando di aggiungere un evento "KeyPress" in una casella di testo (WinForm)Manca "KeyPress" per la casella di testo WinForms?
this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckKeys);
ed ecco all'interno dell 'CheckKeys':
private void CheckKeys(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
// Enter is pressed - do something
}
}
L'idea è che una volta che una casella di testo è in è stato premuto il pulsante di messa a fuoco e è stato premuto il pulsante "Invio", è possibile che qualcosa accada ...
Tuttavia, la mia macchina non riesce a trovare l'evento "KeyPress". C'è qualcosa che non va nei miei codici?
UPDATE:
Ho anche provato a mettere KeyDown invece di KeyPress:
private void textBox1_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.Return)
// Enter is pressed - do something
}
}
Ancora non funziona però ...
Hai provato alla ricerca di KeyDown? – Chris
Questo dovrebbe funzionare - sei sicuro di iscriverti al tuo gestore CheckKeys nel posto giusto? Cosa succede se metti MessageBox.Show (e.KeyChar.ToString()) nel gestore: rileva qualche evento? – pduncan
@Chris: non funziona. Stavo cercando di creare un evento simile a fare clic su un pulsante premendo Invio. – abramlimpin