日期:2014-05-17  浏览次数:20973 次

问个常用的东西:如何为按钮添加快捷键
如何为按钮添加快捷键?
我在按钮的Key_Down事件里添加代码,但按钮根本没响应这个事件。
这个按钮用的是QLFUL的第三方库。
------解决方案--------------------
不要在按钮的Key_Down事件里处理快捷键,因为你只有点了按钮,这个按钮才会响应Key_Down事件,Key_Down事件只会发给拥有输入焦点的控件,通常,除非按钮是tab 0,否则它不会在打开时拥有输入焦点,或者你点过这个按钮,它才会有输入焦点,

在form上,Key_Down事件只会发送给一个控件,而不是发给form上所有的控件,Key_Down事件只发送给拥有输入焦点的控件,而且在整个windows中,在一个时刻只有一个控件拥有输入焦点,

如果你的按钮碰巧拥有输入焦点,那么它是可以相应Key_Down事件,但你的按钮通常不会有输入焦点,除非它是tab 0控件,
------解决方案--------------------
一般来说,可以为按钮添加加速键。

方法是设置按钮文本,比如 &Accept,那么显示出来的按钮就是 Accept。用户可以按 Alt + A 操作按钮。
------解决方案--------------------
在button的Text文本属性后面加上&+字母,这样你就可以用Alt+指定字母这个快捷键来响应,
如果 提交按钮 Text=提交(&S)
------解决方案--------------------
代码添加在窗体的keydown事件里,窗体属性KeyPreview设为true
------解决方案--------------------
窗体 KeyPreview 属性设置为 True,在窗体的 KeyPress 事件里调用按钮点击事件方法
------解决方案--------------------
我猜,你是要写一个hook 键盘全局勾子吧?
 请参考:http://www.cnblogs.com/MaxWoods/archive/2008/05/22/1205221.html