按下文本框中的键,KeyDown事件发生在KeyPress之前.
我使用了计数和消息框来查看会发生什么.
以下是我的代码:
int Ncount = 0;
private void Textbox_KeyDown(object sender, KeyEventArgs e)
{
Ncount += 1;
MessageBox.Show("KeyDown's Ncount : " + Ncount.ToString());
}
private void Textbox_KeyPress(object sender, KeyPressEventArgs e)
{
Ncount += 1;
MessageBox.Show("KeyPress's Ncount : " + Ncount.ToString());
}
Run Code Online (Sandbox Code Playgroud)
当按下某个键时,这将首先显示...
KeyPress's Ncount : 2
Run Code Online (Sandbox Code Playgroud)
......接下来是这样的:
KeyDown's Ncount : 1
Run Code Online (Sandbox Code Playgroud)
KeyDown消息框(带有NCount 1)不应该显示在KeyPress消息框之前(使用Ncount 2)吗?