如何于Windows Form控件中捕捉按键向来是许多程序员所关心的课题,基本上,标准的KeyUp、KeyDown与KeyPress事件就足以去捕捉并处理按键。然而问题在于,并非所有的控件会在所有的情况下为所有的按键操作产生这些事件。
图CH8_DemoForm004.cs运行画面
如果您希望不管控件的状况如何,都能够顺利地捕捉Windows Form控件中的按键,必须根据该控件的类派生出一个新的类并重写ProcessCmdKey方法,并在此重写方法中编写程序代码来捕捉并处理您所需的按键。系统会传递两个参数给ProcessCmdKey方法:msg与keyData。msg参数含有所要处理的窗口信息(例如:WM_KEYDOWN),此窗口信息是以传址方式传递的。keyData参数则会含有被按下的按键的按键码,也就是其中一个Keys值(注意,keyData参数的类型是Keys枚举类型)。如果CTRL或ALT键也被按下,keyData参数还会含有辅助按键(Modifier Key...[ 查看全文 ]