我是新手,最近遇到一个关于C#应用程序的小问题。 我想捕获按键按下事件。刚开始这不是问题,但是在我向表单添加一些按钮后,表单的按键按下事件会忽略箭头键并将焦点从一个按钮移到下一个。(按键弹起事件可以正常使用)有没有办法停止这种情况,并在我按住箭头键时执行其他操作?
我是新手,最近遇到一个关于C#应用程序的小问题。 我想捕获按键按下事件。刚开始这不是问题,但是在我向表单添加一些按钮后,表单的按键按下事件会忽略箭头键并将焦点从一个按钮移到下一个。(按键弹起事件可以正常使用)有没有办法停止这种情况,并在我按住箭头键时执行其他操作?
将 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);
}