У меня есть форма с единственным текстовым полем на нем. Никакие другие средства управления. Каждый раз, когда я ввожу 'Ввести' ключ или ключ '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();
Как я заявил, это заставляет звук не играть, но я думаю, что это - невоспитанность; тем более, что мне не нужна кнопка на форме.
Кто-либо знает, почему это - поведение и если существует более чистый способ мешать ошибочному звуку играть?