Winform键盘管理

时间:2009-07-20 20:39:52

标签: c# winforms focus keyboard-events

我想控制winform应用程序的重点。它由自定义列表框和其他几个组件组成。 我希望所有键盘事件都由我的窗口处理程序管理,以避免特定的控制键处理(例如,当我按下一个字符并且列表框被聚焦时,选择以对应字母开头的项目,这不是正确的行为我的申请)。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:4)

确保您的表单的KeyPreview属性设置为true。然后,此代码可用于取消关键事件到列表框...

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (this.ActiveControl == listBox1)
        e.Handled = true;
}

KeyPress事件可能不适用于所有场景。在这种情况下,我会尝试KeyDown事件。