我的表单上有三个控件 - 一个texbox,按钮和一个图片框。单击按钮后,文本框和按钮本身都将变为非活动状态。此外,我还有Form1_KeyDown(object sender, KeyEventArgs e)
发送按钮,这些按钮将显示在图片框上,但出于某种原因,每当我按任意键时它都会发出哔哔声。我注意到它只发生了按钮并且TextBox
已停用。为什么会发生这种情况?如何在没有烦人的哔哔声的情况下按键?
e.SuppressKeyPress = true
阻止按键输入控制,我不需要它,我只需要摆脱那个声音(为什么它在那里,当我禁用两个控件时?)
UPD:我认为问题在于PictureBox
没有焦点,也没有KeyDown
事件。
答案 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();
}
}