Ingrese la tecla presionada en C #

Intenté este código:

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

y esto:

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

y esto:

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

pero no están funcionando …

Cuando escribo algo y presiono Enter , no funciona. Solo resalta mi texto.

Pruebe este código, podría funcionar (asumiendo el formulario de Windows):

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

Registra el evento así:

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

Debes probar esto en evento de keydown

aquí está el código para eso:

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

Actualización:

También puede hacer esto con el evento de pulsación de tecla.

Prueba esto :

 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"); } } 

Esto le permite elegir la clave específica que desea, sin encontrar el valor de char de la clave.

KeyChar está buscando un valor entero, por lo que debe convertirse de la siguiente manera:

  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"); } } 

Captura de pantalla:

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

Trabajó para mi.

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

Esto funcionó para mí.

También puede hacer esto con el evento de pulsación de tecla.

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

Puedes usar este código:

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

Para mí, esta fue la mejor solución:

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

Resultado

Teniendo en cuenta que

Keys.Return es diferente a 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); } } 

Espero que esto ayude a alguien.

En lugar de usar el evento Key_press, puede usar el evento Key_down. Puedes encontrar esto como abajo Evento
después de hacer doble clic aquí automáticamente este código

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

Problema resuelto ahora use como quiera.

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

Prueba esto:

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