键盘事件是在用户按下键盘上的一个键的时候发生的,可分为两类。第一类是KeyPress事件,当按下的键表示的是一个ASCII字符的时候就会触发这类事件,可通过他的KeyPressEventArgs类型参数的属性KeyChar来确定按下的键的ASCII。使用KeyPress时间无法判断是否按下了修改键(Shift,Alt和Ctrl),为了判断这些动作,就要处理KeyUp 或KeyDown事件,这些时间组成了第二类事件。该类事件有一个KeyEventsArgs类型参数,通过该参数可以测试是否按下了一些修改键。

1.       KeyPressEventArgs类的主属性(KeyPress事件的一个参数类型)
(1).Handle属性:用来获取或设置一个值,该值指示是否处理过KeyPress事件。
(2).KeyChar属性:用来获取按下的键对应的字符,通常是该键的ASCII玛(返回的是键盘的值,如按‘K‘返回就是K)。

2.KeyEventArgs类的主属性(KeyUp和KeyDown事件的一个参数)
(1).Alt属性:用来获取一个值,该值提示是否曾按下了Alt键
(2).Control属性:用来获取一个值,该值提示是否曾按下了Crtl键
(3).Shift属性:用来获取一个值,该值提示是否曾按下了Shift键
(4).Handle属性:用来获取一个值,该值提示是否曾处理过此事件
(5).KeyCode属性:以Keys枚举值返回键盘键的键码,该属性不包含修改键信息,用于测试指定的键盘键
(6).KeyData属性:以Keys枚举值返回键盘键的键码,该属性包含修改键信息,用于判断按下键的所有信息(可返回组合键)
(7).KeyValue属性:以整数形式返回键码,而不是Keys枚举类型值。用于获得所按下键的数字表示
(8).Modifiers属性:以Keys枚举值返回所按下的修改键,仅判断修改键的信息

C#键盘事件处理的更多相关文章

  1. 20个优秀的 JavaScript 键盘事件处理库

    键盘事件是 Web 开发中最常用的事件之一,通过对键盘事件的捕获和处理可以提高网站的易用性和交互体验.下面,我们向大家介绍收集的20款优秀的 JavaScript 键盘事件处理库,帮助开发人员轻松处理 ...

  2. C#键盘事件处理(来源网上)

    C#键盘事件处理 如果你希望用户按F1弹出chm帮助,代码如下: private void FrmMain_Load(object sender, EventArgs e) { this.KeyPre ...

  3. 20个优秀的JavaScript 键盘事件处理库

    键盘事件是 Web 开发中最常用的事件之一,通过对键盘事件的捕获和处理可以提高网站的易用性和交互体验.下面,我们向大家介绍收集的20款优秀的 JavaScript 键盘事件处理库,帮助开发人员轻松处理 ...

  4. 一步一步学Silverlight 2系列(6):键盘事件处理

    一步一步学Silverlight 2系列(6):键盘事件处理   概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言V ...

  5. H5键盘事件处理

    if (/Android/gi.test(navigator.userAgent)) { const innerHeight = window.innerHeight; window.addEvent ...

  6. C#键盘事件处理父窗体子窗体

    :                             :                             MessageBox.Show(, , Keys.F1);            ...

  7. Qt Quick鼠标事件处理、键盘、计时器

    在<Qt Quick 事件处理之信号与槽>中介绍了 QML 中怎样使用内建类型的信号以及怎样自己定义信号,这次我们来看看怎样处理鼠标.键盘.定时器等事件.这些时间在处理时,一般是通过信号来 ...

  8. JavaScript权威设计--事件处理介绍(简要学习笔记十七)

    1.事件相关概念 事件类型:一个用来说明发生什么类型事件的字符串 事件目标:是发生的事件或与之相关的对象. 事件处理程序(事件监听程序):是处理货响应事件的函数. 事件对象:是与特定事件相关并且包含有 ...

  9. C#键盘钩子 鼠标钩子

    最新对C#模拟键盘按键,鼠标操作产生了兴趣.特从网上收集了一些常用的API用来调用键盘,鼠标操作. class Win32API { #region DLL导入 /// <summary> ...

随机推荐

  1. C语言之循环结构 for(一)

    一 for循环的介绍 语法: for(表达式1;表达式2;表达式3){ 循环体; } 循环步骤: A.执行表达式1,执行完毕跳转到B B.判断表达式2的结果是否为真,如果为真,跳转到C,否则跳转到E ...

  2. 你确实应该学习并使用的 10 个 C# 特性

    1) async / await 使用 async / await 模式,可以在执行代码块操作的时候不会阻塞 UI 或者当前的线程.即使该操作被某些执行动作延迟了(比如一个 web 请求),async ...

  3. Kubernetes(k8s)容器运行时(CRI)

    Kubernetes节点的底层由一个叫做"容器运行时"的软件进行支撑,它负责比如启停容器这样的事情.最广为人知的容器运行时当属Docker,但它不是唯一的.事实上,容器运行时这个领 ...

  4. CodeForces 721C Journey

    $dp$,拓扑排序. 记$dp[i][j]$表示走到节点$i$,走过了$j$个点的最小时间,然后就可以递推了.要注意的是节点$1$的入度一开始不一定等于$0$. #pragma comment(lin ...

  5. linux中如何查看某一进程的启动时间

    mark下: ps -p PID -o lstart 其中PID是进程的pid ps的参数好多啊,够摸索一下了

  6. javascript根据元素自定义属性获取元素,操作元素

    写在前面:给某个或多个元素自定义属性data-tar,想获取data-tar='123'的元素来进行进一步的操作,如何实现? function getElementByAttr(tag,attr,va ...

  7. sort vector - leetcode 新用法

    179. Largest Number sort(num.begin(), num.end(), [](int a, int b){ return to_string(a)+to_string(b) ...

  8. ubuntu下update-alternatives命令的使用

    在ubuntu系统中,update-alternatives是专门维护系统命令链接符的工具,其可以对某个工具的多个软件版本进行管理,通过它可以很方便的设置系统默认使用哪个命令的哪个软件版本. 在命令行 ...

  9. CentOS 7.2 部署Saltstack

    CentOS 7.2部署Saltstack 一.环境介绍: 服务器名称 IP地址 Salt-Master 192.168.30.141 Slave1 192.168.30.131 Slave2 192 ...

  10. Hibernate——脏检查和缓存清理机制

    Session到底是如何进行脏检查的呢? 当一个Customer对象被加入到Session缓存中时,Session会为Customer对象的值类型的属性复制一份快照.当Session清理缓存时,会先进 ...