在表格

时间:2015-11-20 13:00:58

标签: c# winforms user-interface

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

e.SuppressKeyPress = true阻止按键输入控制,我不需要它,我只需要摆脱那个声音(为什么它在那里,当我禁用两个控件时?)

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

1 个答案:

答案 0 :(得分:0)

  

e.SuppressKeyPress = true阻止了键的输入控制,我不需要它,我只需要摆脱那个声音

只有在您手动处理事件时才应设置SuppressKeyPress。通常用于 Enter / 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();
    }
}