Как остановить ошибочный звук окна, когда ввод 'входит' или 'Esc'

У меня есть форма с единственным текстовым полем на нем. Никакие другие средства управления. Каждый раз, когда я ввожу 'Ввести' ключ или ключ 'Esc', функции формы, как я требую; но я слышу, что ужасная ошибка Windows звучит. Код выглядит подобным следующему...

public class EntryForm: Form
{
  public EntryForm()
  {
  }

  private void EntryTextBox_KeyUp(object sender, KeyEventArgs e)
  {
    if(e.KeyCode == Keys.Enter)
    {
      // do some stuff
      Hide(); // I've also used DialogResult = DialogResult.OK here
      e.Handled = true;
    }
    else if(e.KeyCode == Keys.Escape)
    {
      Hide(); // I've also used DialogResult = DialogResult.Cancel here
      e.Handled = true;
    }
  }
}

Я могу 'взломать' его и заставить шум зайти в добавление следующего кода конструктору формы.

AcceptButton = new Button();
CancelButton = new Button();

Как я заявил, это заставляет звук не играть, но я думаю, что это - невоспитанность; тем более, что мне не нужна кнопка на форме.

Кто-либо знает, почему это - поведение и если существует более чистый способ мешать ошибочному звуку играть?

7
задан John Kraft 30 December 2009 в 22:49
поделиться