Winform键盘管理
问题描述:
我想控制我的winform应用程序的重点。它由一个自定义列表框和其他几个组件组成。 我希望所有的键盘事件都由我的窗口处理程序管理,以避免特定的控制键处理(例如,当我按下一个字符并且列表框处于焦点时,选择以相应字母开头的项目,这不正确行为为我的应用程序)。 我该如何做到这一点?Winform键盘管理
答
确保表单的KeyPreview属性设置为true。然后,此代码应该用于取消您的密钥事件到列表框中...
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.ActiveControl == listBox1)
e.Handled = true;
}
KeyPress事件可能不适用于所有您的方案。在那种情况下,我会尝试KeyDown事件。
将e.Handled设置为true将放弃按键? – 2009-07-21 08:48:26