我是新来的,我在使用 C# 应用程序时遇到了一些问题。我想捕获按键按下事件。起初这不是问题,但在我向表单添加一些按钮后,表单的按键事件会忽略箭头键并将焦点从一个按钮移动到下一个按钮。(按键事件有效)是否有当我按住箭头键时,如何阻止这种情况并让他们做其他事情?
问问题
4238 次
2 回答
6
将 Form 上的KeyPreview属性设置为 true。除了子控件之外,这将允许表单查看 keydown 事件。
将此添加到您的表单...
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData.Equals(Keys.Right))
{
MessageBox.Show("Right Key Pressed!");
}
return base.ProcessCmdKey(ref msg, keyData);
}
于 2009-05-03T21:52:46.040 回答
1
如果您不希望控件具有正常的按键功能,则需要在每个控件上设置按键事件,并将事件参数的处理属性设置为 true,这样它就不会冒泡到内置控制功能。
于 2009-05-03T22:03:35.640 回答