在winforms中检测箭头键
可能重复:
向上,向下,向左和向右箭头键不会触发KeyDown事件
首先看代码。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; namespace winform_project { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_KeyPress(object sender, KeyPressEventArgs e) { MessageBox.Show("Hello"); } } }
我能够检测到字母数字键。 但是我无法检测箭头键。
在这方面,任何帮助都将受到赞赏。
好吧经过一些研究后我发现处理箭头键事件的最简单方法是重写ProcessCmdKey方法。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if(keyData == Keys.Left) { MessageBox.Show("You pressed Left arrow key"); return true; } return base.ProcessCmdKey(ref msg, keyData); }
希望这可以帮助。