小编edw*_*963的帖子

为什么KeyPress的消息框会在KeyDown之前显示?

按下文本框中的键,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)吗?

c# event-handling winforms

6
推荐指数
1
解决办法
749
查看次数

标签 统计

c# ×1

event-handling ×1

winforms ×1