最近在做一个程序,需要实现窗口下的F5 刷新功能。
研究了一下KeyDown,KeyPress 和KeyUp ,发现之间还是有点学问的。
让我们带着如下问题来说明,如果你看到这些问题你都知道,那么这篇文章你就当复习吧:)
1.这三个事件的顺序是怎么样的?
2.KeyDown 触发后,KeyUp是不是一定触发?
3.三个事件的定义
4.KeyDown、KeyUp 和KeyPress 之间的区别
5.如何区分是否按的是小键盘?
6.PrScrn按键三个事件能够捕获吗?
7.{菜单键}和{开始键}KeyPress能够捕获吗?
8.如何捕获系统的组合键?
9.通过什么方式捕获PrScrn按键事件?
(一)键事件按下列顺序发生:
KeyDown
KeyPress
KeyUp
(二)KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。
(三)定义
KeyDown:在控件有焦点的情况下按下键时发生。
KeyPress:在控件有焦点的情况下按下键时发生。(下面会说和KeyDown 的区别)
KeyUp:在控件有焦点的情况下释放键时发生。
(四)KeyPress 和KeyDown 、KeyPress之间的区别
1.KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符
KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)
2.KeyPress 只能捕获单个字符
KeyDown 和KeyUp 可以捕获组合键。
3.KeyPress 可以捕获单个字符的大小写
4.KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。
5.KeyPress 不区分小键盘和主键盘的数字字符。
KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。
6.其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。
(五)系统组合键的判定
在使用键盘的时候,通常会使用到CTRL+SHIFT+ALT 类似的组合键功能。对于此,我们如何来判定?
通过KeyUp 事件能够来处理(这里说明一下为什么不用KeyDown,因为在判定KeyDown的时候,CTRL、SHIFT和ALT 属于一直按下状态,然后再加另外一个键是不能准确捕获组合键,所以使用KeyDown 是不能准确判断出的,要通过KeyUp 事件来判定 )
(六)捕获PrScrn按键事件
通过一种钩子的方式可以判定PrScrn 按键事件,钩子可以获取任何键盘事件。
分享到:
相关推荐
1、KeyPress主要用来接收字母、数字等ANSI字符 KeyDown 和 KeyUP 事件过程通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键 2、KeyPress 只能捕获单个字符 KeyDown 和KeyUp 可以捕获组合键。...
### C# WinForm中的KeyDown, KeyPress和KeyUp事件相关知识点 #### 一、按键的类型与识别 在C# WinForm应用中,处理用户的键盘输入是常见需求之一。Windows窗体通过引发键盘事件来响应用户的键盘操作。这些事件主要...
在WinForm应用开发中,处理键盘输入事件时,常常会遇到`KeyDown`、`KeyPress`和`KeyUp`这三个事件。了解它们之间的顺序和差异对于编写响应用户输入的代码至关重要。以下是对这三个事件的详细解析: 1. **顺序**: ...
3. keypress事件主要用来接收字母、数字等ANSI字符,而keydown和keyup事件过程可以处理不被keypress识别的击键,如功能键(F1-F12)、编辑键、定位键以及这些键和键盘换档键的组合等。 特别地,在处理组合键如Ctrl+...
keydown事件发生在按键被按下的时候,接着触发keypress,松开按键的时候触发keyup事件 中文输入法: firfox:输入触发keydown,回车确认输入触发keyup chrome:输入触发keydown、keyup,回车确认输入只触发keydown ...
`keyup`和`keydown`事件都可用于非打印键,但`keyup`更适合于响应用户输入的结束。 3. **`onpropertychange`事件**: `onpropertychange`是Internet Explorer特有的事件,用于检测DOM元素属性的变化,包括文本框...
JS 键盘事件可以分为三种类型:keydown、keypress 和 keyup,它们分别对应 onkeydown、onkeypress 和 onkeyup 这三个事件句柄。在这三个事件类型中,keydown 和 keyup 比较底层,而 keypress 比较高级。 浏览器的...
在本文中,我们首先介绍了JavaScript中处理键盘按键事件的三种不同类型的事件:keydown、keypress和keyup,以及它们对应的事件句柄onkeydown、onkeypress和onkeyup。这些事件类型在处理按键时是有顺序和差异的:首先...
其他命令是按键精灵教程的补充部分,包括GetLastKey、KeyDown、KeyPress、KeyUp和WaitKey等知识点: 1. GetLastKey:获取最后按下的键的ASCII码。 2. KeyDown:检测键盘按键的状态。 3. KeyPress:模拟键盘按键的...
首先,我们需要明确浏览器中与键盘事件相关的主要类型,它们分别是keydown、keypress和keyup事件。keydown事件在按键按下时触发,而keypress事件紧随其后,在按键被按下并能够产生可打印字符时触发。keyup事件则在...
用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydown,keypress,...
在 nodejs 上模拟 keyup 和 keydown。 样本 var keydownup = require ( "./index" ) keydownup ( process . stdin ) process . stdin . on ( 'keydown' , function ( ) { console . log ( "keydown" ) } ) ...
`keyup`和`keydown`是两种常见的键盘事件,它们都与用户的按键操作紧密相关,但触发的时机有所不同。本文将深入探讨这两者的差异以及它们在实际应用中的作用。 `keydown`事件在用户按下键盘上的任意键时触发,它...
KeyDown 和 KeyUP 事件过程通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键 2、KeyPress 只能捕获单个字符,KeyDown 和KeyUp 可以捕获组合键。 3、KeyPress 不显示键盘的物理状态(SHIFT键),而...
在C#中,键盘事件通常通过控件(如Form或TextBox)的键盘事件处理程序来捕获,如KeyDown、KeyPress和KeyUp事件。这些事件提供了关于用户按下或释放键盘键的信息。例如,`KeyDown`事件会在按键被按下时触发,`KeyUp`...
首先,我们需要了解JavaScript中的键盘事件主要有三个:keydown、keypress和keyup。其中,keydown事件在用户按下键盘上的任意键时触发,keypress事件在按键被按下并产生字符时触发,keyup事件则在键盘键被释放时触发...
这样,窗体会先处理KeyPress、KeyUp和KeyDown事件,然后再由控件处理。 5. **应用实例**: - 示例11-1演示了如何在Text1的KeyPress事件中,将输入的英文字符转换为大写并显示在Label1中。 - 示例11-2展示了如何...
TreeView 控件响应一些我们觉的VFP 控件的方法和事件: Click, DblClick, Drag, DragDrop, DragOver, GotFocus, KeyDown, KeyPress, KeyUp, LostFocus, MouseDown, MouseMove, MouseUp, Move, Refresh, SetFocus, ...