Звук Windows 10 в приложении C # WinForm при загрузке с событием textBox KeyDown - PullRequest
0 голосов
/ 03 октября 2018

В C# WinForm настольном приложении Form2, которое является формой входа в систему, у меня есть textBox1_KeyDown событие:

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Enter) 
    { 
        LOGIN(); 
    } 
}

То же LOGIN(); функция загружает Form1 без каких-либо Windows 10 sound, дляПример с кнопкой, например:

 private void button1_Click(object sender, EventArgs e) 
 { 
    LOGIN(); 
 } 

Но при нажатии Enter key на клавиатуре, textBox1_KeyDown событие загружается Form1 с Asterisk Звук Windows 10 (воспроизводится, когда всплывающее предупреждениеотображается, как предупреждающее сообщение) или Default Beep звук, (воспроизводится по нескольким причинам с выбором родительского окна перед закрытием активного) или Exclamation, что (воспроизводится, когда вы пытаетесь сделать что-то, что не поддерживается ОС) , в соответствии с Какие события программы включены в звуковую схему? .

Я не уверен, какой, эти 3 пьесы звучат одинаково, или это просто та же звуковая дорожка, в любом случае, я не знаю, как избежать этого звука при входе с клавиатуры, в LOGIN();Функция, форма загружается следующим образом:

            Form1 objForm1 = new Form1();
            this.Hide();
            objForm1.Show();

Любое руководство, совет или пример будут полезны

1 Ответ

0 голосов
/ 03 октября 2018

Несколько способов сделать это, проверьте: Остановите «Дин» при нажатии Enter

Я думаю, что лучший способ - это установить свойство Form.AcceptButton (для ожидаемой кнопки)и вообще не программировать нажатие клавиш в текстовом поле, но вы также можете использовать приведенный ниже код, если не хотите таким образом:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        //DoYourLogic
        e.Handled = true;
        e.SuppressKeyPress = true;
      }
 }
...