zoukankan      html  css  js  c++  java
  • 转载关于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 都不能捕获。

    原帖链接:点击打开链接

    另外再加一段:


    TextChanged: 
         文本更改时触发,分在程序里更改,用户使用键盘更改,无论那中更改,都会触发TextChanged事件

    KeyDown: 
         也是在文本更改时触发,但只有用户使用键盘更改时才触发,在程序里更改不触发


    有些控件将会在 KeyDown 上处理某些击键。例如,RichTextBox 在调用 KeyPress 前处理 Enter 键。在这种情况下,您无法取消 KeyPress 事件,而是必须

    从 KeyDown 取消击键。

  • 相关阅读:
    HandlerExceptionResolver 实现全局异常捕获
    Cocoapods安装过程
    mysql 安装
    崩溃日志的字段简单说明
    简述static关键字、void与void *(void指针)、函数指针
    在python后台如何将客户端提交的form表单数据提取出来?
    iOS如何提高页面流畅度
    屏幕显示机制
    计算机网络体系小知识
    Protobuf java版本安装步骤
  • 原文地址:https://www.cnblogs.com/chris-oil/p/3895879.html
Copyright © 2011-2022 走看看