All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Gb2312转utf-8(vbs+js)_JavaScript技术_编程技术
比较SQL,Server,2000,数据库中两个库的差异_[SQL,Server教程]
面向服务及其在互联系统策略中的角色_.net资料_编程技术
ASP.NET,2.0,中的,Theme,功能_.net资料_编程技术
C#教程:使用Visual Studio 2005 创建项目
精通数据库系列之入门-基础篇1_mssql学习_编程技术
ADO.NET中的sql连接_[Asp.Net教程]
PHP动态网页编程:include()与require()的对比_php资料_编程技术
ASP.NET技巧:正则表达式提取数字_.net资料_编程技术
数字的转换char,to,int
Reading number is top 10 pictures
西班牙山村小景5
A man's favorite things14
中国女孩大胆自拍,显露完美身材2
The money of more than 100 countries and regions17
这是男生笨么?
Ashlynn Brooke a group sexy photo2
Sora aoi in China2
大四女生借债隆胸成功
The goddess of the single reason1
Flow chart of breast implants
Download software ranking
c#程序设计案例教程
The Bermuda triangle3
Eclipse 4.2.2 For Win64
Unix video tutorial20
JSP+Ajax Web development typical examples
matrix2
Proficient in JavaScript
Ashlynn Video5
传奇私服架设教程
徐若瑄成名作“魔鬼天使”
qq published in(发表于) 2014/7/11 9:28:30 Edit(编辑)
C#教程:键盘消息的响应实例

C#教程:键盘消息的响应实例

C#教程:键盘消息的响应实例|方法

键盘消息的响应

Windows窗体通过引发键盘事件来处理键盘输入以响应Windows消息,大多数Windows窗体应用程序都通过处理键盘事件来以独占方式处理键盘输入。为了更好的掌握Windows窗体中键盘处理的相关操作,程序开发人员应该了解键盘消息的工作方式,以便实现更高级的键盘输入方案(例如,在按键到达控件之前将其截获等)。本节将详细介绍有关Windows窗体中键盘处理操作的相关内容。

1.按键的类型

Windows窗体将键盘输入标识为由按位Keys枚举表示的虚拟键代码。使用Keys枚举,可以综合一系列按键以生成单个值,这些值与WM_KEYDOWN和WM_SYSKEYDOWNWindows消息所伴随的值相对应。另外,程序开发人员可通过处理KeyDown或KeyUp事件来检测大多数物理按键操作。字符键是Keys枚举的子集,它们与WM_CHAR和WM_SYSCHAR Windows消息所伴随的值相对应,如果通过组合按键得到一个字符,则可以通过处理KeyPress事件来检测该字符。

2.键盘事件的顺序

一个控件上可能出现3个与键盘相关的事件,下面是这些事件发生的常规顺序。

用户按“a”键,该键将被预处理和调度,而且会发生KeyDown事件。

用户按住“a”键,该键将被预处理和调度,而且会发生KeyPress事件。

用户松开“a”键,该键将被预处理和调度,而且会发生KeyUp事件。

3.键的预处理

像其他消息一样,键盘消息是在窗体或控件的WndProc方法中处理的。窗体或控件在处理键盘消息之前,PreProcessMessage方法会调用一个或多个方法,这些方法可被重写以处理特殊的字符键和物理按键。表1、表2按照KeyDown事件和KeyPress事件预处理方法出现的顺序,列出了正在执行的操作以及所出现的相关方法。



表1 KeyDown事件的预处理



表2 KeyPress事件的预处理

4.处理键盘消息

键盘消息在到达窗体或控件的WndProc方法之后,它们将由一组可被重写的方法来处理。其中的每种方法都返回一个Boolean值,该值指定控件是否已处理和使用了键盘消息。如果其中的某种方法返回 True,则键盘消息将被视为已处理,而且它将不传递到控件的基控件或父控件进行进一步处理;否则,消息将停留在消息队列中,而且可能会在控件的基控件或父控件的其他方法中进行处理。用来处理键盘消息的方法及说明如表3所示。



表3 处理键盘消息及说明

5.重写键盘方法

在预处理和处理键盘消息时,可以使用许多方法进行重写。需要完成的任务以及重写键盘方法的最佳方式如表4所示。



表4 重写键盘方法及说明




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.