在C#中input按键

我试过这个代码:

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

和这个:

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

和这个:

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

但他们不工作…

当我写东西,然后按Enter ,它不起作用。 它只突出显示我的文字。

试试这个代码,可能会工作(假设Windows窗体):

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

注册这样的事件:

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

你必须在keydown事件中尝试这个

这里是代码为:

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

更新:

你也可以通过按键事件来做到这一点。

尝试这个 :

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

这使您可以select所需的特定密钥,而无需查找密钥的字符值。

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

截图:

KeyChar正在寻找一个整数值,所以它需要被转换如下:

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

为我工作。

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

这对我有效。

你也可以通过按键事件来做到这一点。

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

你可以使用这个代码:

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

对我而言,这是最好的解决scheme:

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

结果

记住这一点

Keys.ReturnKeys.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); } } 

希望这可以帮助别人。

尝试这个:

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