C# 如何避免DateTimePicker发出嘟嘟声

C# 如何避免DateTimePicker发出嘟嘟声,c#,.net,winforms,datetimepicker,C#,.net,Winforms,Datetimepicker,我有一个WinForms DateTimePicker的自定义扩展,它工作得很好,只是每当我按下escape或enter键时,它就会发出一声提示音 我试着像上面描述的那样覆盖OnKeyPress,但这样它会阻止所有按下的键,因此无法使用键盘输入日期或时间。 我应该重写WndProc还是有其他方法来解决此问题 顺便问一下,有人知道为什么首先需要发出嘟嘟声吗?如果你覆盖了onkeypress,你必须通过并呼叫基地接收你想要接收的按键,如果你想要忽略这些按键,不要呼叫基地进入和退出。也许你应该发布你的

我有一个WinForms DateTimePicker的自定义扩展,它工作得很好,只是每当我按下escape或enter键时,它就会发出一声提示音

我试着像上面描述的那样覆盖OnKeyPress,但这样它会阻止所有按下的键,因此无法使用键盘输入日期或时间。 我应该重写WndProc还是有其他方法来解决此问题


顺便问一下,有人知道为什么首先需要发出嘟嘟声吗?

如果你覆盖了onkeypress,你必须通过并呼叫基地接收你想要接收的按键,如果你想要忽略这些按键,不要呼叫基地进入和退出。也许你应该发布你的代码,看看逻辑是否有输入错误


嘟嘟声通常向用户指示按键没有任何动作。

只需使用适当的按键事件处理程序将其抑制即可:

  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
      dateTimePicker1.KeyDown += squelchBeep;
    }
    private void squelchBeep(object sender, KeyEventArgs e) {
      if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Escape) e.SuppressKeyPress = true;
    }
  }