在WinForms桌面应用程序中,使用键盘上的箭头按钮处理KeyDown和KeyUp事件触发



我正试图弄清楚,如何在WinFormsC#桌面应用程序中处理用键盘上的箭头按钮触发的KeyDownKeyUp事件,而不是使用button1:

private void button1_Click(object sender, EventArgs e)
{
y = y - 10; // Go up
moveGraphicObject();
}

但如果我使用箭头键,无论是否在表单上使用其他控件,事件都不会触发:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Left)
{
x = x - 10;
}
if (e.KeyCode == Keys.Right)
{
x = x + 10;
}
if (e.KeyCode == Keys.Up)
{
y = y - 10;
}
if (e.KeyCode == Keys.Down)
{
y = y + 10;   
}   

moveGraphicObject();
}

查看PreviewKeyDown事件。MSDN在这里有一个很好的例子

默认情况下,KeyDown不会为箭头键激发预览KeyDown为在此处预览密钥。不要在此处放置任何逻辑,而是使用将IsInputKey设置为true后的KeyDown事件。

相关内容

  • 没有找到相关文章

最新更新