C# 按表单中的键时发出嘟嘟声

C# 按表单中的键时发出嘟嘟声,c#,winforms,user-interface,C#,Winforms,User Interface,我的表单上有三个控件——一个文本框、一个按钮和一个图片框。单击按钮后,文本框和按钮本身都变为非活动状态。此外,我还有和Form1KeyDownObject sender,KeyEventArgs e发送将显示在picturebox上的按下按钮,但由于某些原因,每次我按下任何键时,它都会发出嘟嘟声。我注意到只有当按钮和文本框被禁用时才会发生这种情况。为什么会发生这种情况?我如何在没有恼人的哔哔声的情况下按键 e、 SuppressKeyPress=true阻止输入控制键,我不需要,我只需要消除声音

我的表单上有三个控件——一个文本框、一个按钮和一个图片框。单击按钮后,文本框和按钮本身都变为非活动状态。此外,我还有和Form1KeyDownObject sender,KeyEventArgs e发送将显示在picturebox上的按下按钮,但由于某些原因,每次我按下任何键时,它都会发出嘟嘟声。我注意到只有当按钮和文本框被禁用时才会发生这种情况。为什么会发生这种情况?我如何在没有恼人的哔哔声的情况下按键

e、 SuppressKeyPress=true阻止输入控制键,我不需要,我只需要消除声音为什么在禁用两个控制键时会出现这种声音

UPD:我认为问题在于PictureBox没有焦点,也没有按键事件

e、 SuppressKeyPress=true是防止输入控制键,我不需要,我只需要消除那种声音

仅当手动处理事件时,才应设置SuppressKeyPress。因此,通常对于输入/退出按钮:


谢谢你的回答!若我按下键盘上的任何键,应用程序都会发出嘟嘟声,而不仅仅是Enter或Alt之类的键。我按的每个键都会发出这个声音。但这仅在禁用其他控件时发生。我看不出该如何在我的案例中使用此代码。这是否意味着每次击键时都要更改焦点?在这种情况下,也许你应该始终抑制操纵。不,我根本不改变焦点。我建议在禁用其他控件时自动执行此操作。但每次按键都会发出嘟嘟声,不管我按了什么键。
// suppress key only if you handled the keystroke
void txtValue_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        e.SuppressKeyPress = true;
        if (IsModified)
            SaveData();
    }
    else if (e.KeyCode == Keys.Escape)
    {
        e.SuppressKeyPress = true;
        if (IsModified)
            ResetData();
    }
}