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.
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);
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");
}
}
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é.
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.
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
}
}
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");
}
}
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.
Au lieu d'utiliser l'événement Key_press, vous pouvez utiliser L'événement Key_down. Vous pouvez trouver ceci comme ci-dessous
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 ");
}
}
Essayez ceci:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.Key.ToString())
{
case "Return":
MessageBox.Show(" Enter pressed ");
break;
}
}