当我在文本框中input时出现恼人的嘟嘟声

当用户在文本框中按下Enter键时,我试图让一些东西发生,并且它可以正常工作,但是当我这样做的时候,它会使DING窗口出现非常烦人的声音。 我e.SuppressKeyPress = true;了我的问题,显然joine.SuppressKeyPress = true; 之前的东西,和e.Handled = true; 之后的东西,但我的程序仍然发出声音。 这是我正在使用的代码:

 private void textBox1_KeyUp(object sender, KeyEventArgs e) { e.SuppressKeyPress = true; if (e.KeyCode == Keys.Enter) { // A bunch of stuff goes here that I want to // happen when the user hits enter } e.Handled = true; } 

难道我做错了什么? 这是其他人说你必须做的,但由于某种原因,这对我没有任何作用。

谢谢!

您需要处理KeyDown ,而不是KeyUp ,以便抑制KeyPress事件。 KeyDown文档解释了为什么,因为它列出事件的顺序为:

  • 的KeyDown
  • 按键
  • KEYUP

在设置e.SupressKeyPressKeyPress事件已经发生。

可以试试这个!

 private void textBox1_KeyUp(object sender, KeyEventArgs e) { e.SuppressKeyPress = true; if (e.KeyCode == (char)Keys.Enter) { // A bunch of stuff goes here that I want to // happen when the user hits enter e.Handled = true; } }