在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.Return与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); } }
希望这可以帮助别人。
尝试这个:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { switch (e.Key.ToString()) { case "Return": MessageBox.Show(" Enter pressed "); break; } }