我想控制winform应用程序的重点。它由自定义列表框和其他几个组件组成。 我希望所有键盘事件都由我的窗口处理程序管理,以避免特定的控制键处理(例如,当我按下一个字符并且列表框被聚焦时,选择以对应字母开头的项目,这不是正确的行为我的申请)。 我怎样才能做到这一点?
答案 0 :(得分:4)
确保您的表单的KeyPreview属性设置为true。然后,此代码可用于取消关键事件到列表框...
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.ActiveControl == listBox1)
e.Handled = true;
}
KeyPress事件可能不适用于所有场景。在这种情况下,我会尝试KeyDown事件。