关于KeyPress和KeyDown事件的区别和联系

  KeyDown:在控件有焦点的情况下按下键时发生。

  KeyPress:在控件有焦点的情况下按下键时发生。

  KeyUp: 在控件有焦点的情况下释放键时发生。

  1、 KeyPress主要用来接收字母、数字等ANSI字符

  KeyDown 、KeyUp 事件过程通常可以捕获键盘上除了PrScrn(在键盘右上角)之外的所有按键(这里不讨论特殊键盘的特殊键)。

  2、 KeyPress 只能捕获单个字符

  KeyDown 、KeyUp 可以捕获组合键。

  3、KeyPress 不显示键盘的物理状态(SHIFT键),而只是传递一个字符。

  KeyPress 将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符,(区分大小写)。

  KeyDown 、KeyUp 不能判断键值字母的大小。

  KeyDown 、KeyUp 用两种参数解释每个字符的大写形式和小写形式:keycode —— 显示物理的键(将 A 和 a 作为同一个键返回)和 shift —指示 shift + key 键的状态而且返回 A 或 a 其中之一。(????不明白????)

  5、KeyPress 不区分小键盘和主键盘的数字字符。

  KeyDown 、KeyUp 区分小键盘和主键盘的数字字符。

  6、KeyDown、KeyUp事件是当按下 ( KeyDown ) 或松开 ( KeyUp ) 一个键时发生的。

  另外:up和其他两者还有一个区别:要判断key修改后的状态必须用up

  另一种解释:

  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 都不能捕获。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值