Inserire la chiave premere C #

Ho provato questo codice:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (Convert.ToInt32(e.KeyChar) == 13) { MessageBox.Show(" Enter pressed "); } } 

e questo:

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Convert.ToChar(Keys.Enter)) { MessageBox.Show(" Enter pressed "); } } 

e questo:

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Keys.Enter) { MessageBox.Show(" Enter pressed "); } } 

ma non stanno lavorando …

Quando scrivo qualcosa e premi Invio , non funziona. Mette in evidenza solo il mio testo.

Prova questo codice, potrebbe funzionare (supponendo il modulo di Windows):

  private void CheckEnter(object sender, System.Windows.Forms.KeyPressEventArgs e) { if (e.KeyChar == (char)13) { // Enter key pressed } } 

Registra l’evento in questo modo:

 this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckEnter); 

Devi provare questo in evento keydown

ecco il codice per questo:

 private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { MessageBox.Show("Enter pressed"); } } 

Aggiornare :

Inoltre puoi farlo con l’evento keypress.

Prova questo :

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Convert.ToChar(Keys.Return)) { MessageBox.Show("Key pressed"); } } 
 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { MessageBox.Show("Enter Key Pressed"); } } 

Questo ti permette di scegliere la chiave specifica che desideri, senza trovare il valore char della chiave.

KeyChar sta cercando un valore intero, quindi deve essere convertito come segue:

  private void Form1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Convert.ToInt16(Keys.Enter)) { MessageBox.Show("Testing KeyPress"); } } 
 private void textBoxKontant_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Return) { MessageBox.Show("Enter pressed"); } } 

Immagine dello schermo:

 private void TextBox1_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { MessageBox.Show("Enter pressed"); } } 

Ha funzionato per me

 private void Input_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Return) { MessageBox.Show("Enter pressed"); } } 

Questo ha funzionato per me.

Inoltre puoi farlo con l’evento keypress.

  private void textBox1_EnterKeyPress(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { // some code what you wanna do } } 

Potresti usare questo codice:

 abc_KeyDown(abc, new KeyEventArgs(Keys.Enter)); 

Per me, questa è stata la soluzione migliore:

 private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { MessageBox.Show("Enter key pressed"); } } 

Risultato

Tenendo presente questo

Keys.Return è diverso da Keys.Enter

 //Makes it easier to Type user and password and press Enter, //Rather than using the mouse to Click the Button all the time private void Txt_Password_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Return) { Btn_Login_Click(null, null); } } 

Spero che questo aiuti qualcuno.

Invece di utilizzare l’evento Key_press, puoi utilizzare l’evento Key_down. Puoi trovarlo come sotto Evento
dopo aver fatto doppio clic qui automaticamente questo codice

 private void textbox1_KeyDown(object sender, KeyEventArgs e) { } 

Problema risolto ora usa come vuoi.

 private void textbox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { MessageBox.Show(" Enter pressed "); } } 

Prova questo:

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { switch (e.Key.ToString()) { case "Return": MessageBox.Show(" Enter pressed "); break; } }