Appuyez sur la touche Entré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 ceci:

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

Et ceci:

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

Mais ils ne fonctionnent pas...

Quand j'écris quelque chose et que j'appuie sur Enter, cela ne fonctionne pas. Il ne fait que souligner mon texte.

46
demandé sur Doğa Özkaracaabatlıoğlu 2012-09-07 16:31:19

13 réponses

Essayez ce code, peut 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);
73
répondu Sandeep Pathak 2012-09-07 12:34:51

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

Mise à jour:

Vous pouvez également le faire avec l'événement keypress.

Essayez Ceci:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToChar(Keys.Return))
        {
            MessageBox.Show("Key pressed");
        }
    }
29
répondu aliboy38 2014-08-14 14:06:00
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 char de la clé.

4
répondu Mike Taylor 2013-08-07 07:23:31

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");
        }
    }
3
répondu Jozek 2016-03-15 14:09:37
private void textBoxKontant_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Return)
            {
                MessageBox.Show("Enter pressed");
            }
        }

Capture d'écran:

2
répondu Lasse 2017-02-08 14:55:24
private void TextBox1_KeyUp(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Enter)
     {
         MessageBox.Show("Enter pressed");
     }
 }

Travaillé pour moi.

2
répondu agileDev 2016-08-02 12:28:37
private void Input_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Return)
        {
            MessageBox.Show("Enter pressed");
        }
    }

Cela a fonctionné pour moi.

0
répondu Peter 2015-01-04 11:49:34

Vous pouvez également le faire avec l'événement keypress.

 private void textBox1_EnterKeyPress(object sender, KeyEventArgs e)

 {

  if (e.KeyCode == Keys.Enter)
   {
     // some code what you wanna do
   }


}
0
répondu Abdul Rehman 2015-10-01 07:13:32

Vous pouvez utiliser ce code:

abc_KeyDown(abc, new KeyEventArgs(Keys.Enter));
0
répondu kanak 2015-12-11 07:24:56

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

0
répondu Shahid Mahmood 2017-07-21 19:57:53

En gardant à l'esprit que

Les clés.Return est différent des touches .Entrez

//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.

0
répondu 2017-10-14 12:27:05

Au lieu d'utiliser l'événement Key_press, vous pouvez utiliser L'événement Key_down. Vous pouvez trouver ceci comme ci-dessousÉvénement
après avoir double-cliqué ici, ce code sera automatiquement

private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {

     }

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

private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            MessageBox.Show(" Enter pressed ");
        }
     }
0
répondu Nusrat ul Hassan 2017-11-27 05:46:41

Essayez ceci:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
        switch (e.Key.ToString())
        {
                case "Return":
                        MessageBox.Show(" Enter pressed ");
                        break;
         }
}
-2
répondu ragatskynet 2012-09-07 12:35:08