按窗体中的键时会发出蜂鸣声

本文关键字:蜂鸣声 窗体 | 更新日期: 2023-09-27 18:22:48

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

e.SuppressKeyPress = true正在阻止输入控制键,我不需要,我只需要消除那种声音(当我禁用两个控制时,为什么会有这种声音?)

UPD:我认为问题是PictureBox没有焦点,也没有KeyDown事件。

按窗体中的键时会发出蜂鸣声

e.SuppressKeyPress = true正在阻止输入控制键,我不需要,我只需要消除的声音

只有在手动处理事件时,才应设置SuppressKeyPress。因此,通常对于输入/Escape按钮:

// 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();
    }
}