Entrez la touche enfoncée en C #

J’ai essayé ce code:

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

et ça:

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

et ça:

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

mais ils ne travaillent pas …

Lorsque j’écris quelque chose et que j’appuie sur Entrée , cela ne fonctionne pas. Il ne fait que souligner mon texte.

Essayez ce code, cela pourrait fonctionner (en supposant que Windows form):

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

Enregistrez l’événement comme ceci:

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

Vous devez essayer ceci dans l’événement keydown

voici le code pour cela:

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

Mettre à jour :

Aussi, vous pouvez le faire avec l’événement de pression des touches.

Essaye ça :

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

Cela vous permet de choisir la clé spécifique que vous voulez, sans trouver la valeur de la clé.

KeyChar recherche une valeur entière, il doit donc être converti comme suit:

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

Capture d’écran:

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

Travaillé pour moi

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

Cela a fonctionné pour moi.

Aussi, vous pouvez le faire avec l’événement de pression des touches.

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

Vous pouvez utiliser ce code:

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

Pour moi, c’était la meilleure solution:

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

Résultat

Garder à l’esprit que

Keys.Return est différent de 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); } } 

J’espère que cela aidera quelqu’un.

Au lieu d’utiliser l’événement Key_press, vous pouvez utiliser l’événement Key_down. Vous pouvez trouver ceci comme ci-dessous un événement
après double-cliquant ici, il sera automatiquement ce code

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

Problème résolu maintenant utiliser comme vous le souhaitez.

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

Essaye ça:

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