KeyDown事件用来处理功能键:F1 F2 F3...
keyPress事件用来处理字符比如说:A B C... 1 2 3... 以及Enter,+,-,<- 等
KeyPress事件的示例:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (int)Keys.Enter)
{
//执行操作
}
}
KeyDown事件的示例:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F8)
{
//执行操作
}
}
KeyDown事件中,KeyEventArgs e中包含了KeyCode,KeyData,KeyValue
KeyCode最常用,记录键盘按了那个键,使用组合键时如Ctrl+a,则其值为'A';
KeyData在键盘按单键时跟KeyCode一样,在组合键时,如Ctrl+a,其值为‘A,Ctrl’;
KeyValue是KeyCode枚举Keys对应的数字值,组合键时,如Ctrl+a,其值为65(A),非97(a);
对于字母键,只记录枚举对应大写值
对于Form界面本身的键盘事件来说,需要先设置KeyPreview=true