C# 中 KeyPress/KeyDown/KeyUp 的区别

2020-04-06  本文已影响0人  五维思考

1. 键事件按下列顺序发生:

2. KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。

3. 定义

4. KeyPress 和KeyDown 、KeyPress之间的区别

5. 系统组合键的判定

在使用键盘的时候,通常会使用到CTRL+SHIFT+ALT 类似的组合键功能。对于此,我们如何来判定?
通过KeyUp 事件能够来处理(这里说明一下为什么不用KeyDown,因为在判定KeyDown的时候,CTRL、SHIFT和ALT 属于一直按下状态,然后再加另外一个键是不能准确捕获组合键,所以使用KeyDown 是不能准确判断出的,要通过KeyUp 事件来判定 )
这里简单的列举出 CTRL+其它键 的组合判定代码:

private void Form3_KeyUp(object sender, KeyEventArgs e)
{
    if (e.Control)
    {
        MessageBox.Show("KeyUp:Ctrl+" + e.KeyValue.ToString());
    }
}

6. 捕获PrScrn按键事件

通过一种钩子的方式可以判定PrScrn 按键事件,钩子可以获取任何键盘事件。

上一篇下一篇

猜你喜欢

热点阅读