我为我的 Windows 窗体窗体的 KeyDown 事件注册了一个处理程序。我想对按下 Ctrl 和 + 做出反应。这里我的意思是+键,它不在键盘的计算器部分。在调试时我看到如果我只按下这个键,KeyEventArgs 对象的 KeyCode 是 LButton | 右按钮 | 返回 | Shift键 | 空间 | F17。然后我测试了其他一些键。对于一些简单的数字和字母键,我也得到了这个代码。谁能告诉我为什么会这样?此外,我无法理解为什么单击鼠标按钮作为键值给出。如果我只按下某个键,为什么它们会出现在 KeyCode 中?但是F17键还是比较陌生。据我所知,键盘只有 F1 到 F12 的功能键。这个 F17 键是什么?
处理程序是以下方法:
private void MainForm_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Escape)
{
Close();
e.Handled = true;
}
else if((e.Modifiers==Keys.Control)&&(e.KeyCode==Keys.Add))
{
/* omitted */
e.Handled = true;
}
else if((e.Modifiers==Keys.Control)&&(e.KeyCode == Keys.Subtract)&&(lbFiles.SelectedItems.Count>0))
{
/* omitted */
e.Handled = true;
}
}
此处理程序由表单设计器注册。