2个回答
展开全部
1>如果只是想实现一个很简单的用户按下Esc或者Enter来简单控制当前窗体的行为, 窗体有两个属性只需简单设置就可以。
比如设置 CancelButton = btnExit那么当你按下Esc的时候就可以触发btnExit.Click事件。
同样道理如果设置AcceptButton = btnExit,当按下Enter的时候会执行btnExit.Click事件。
这里需要注意的是一个窗体的AcceptButton和CancelButton都只能设置一个,设置了AcceptButton只是表示用户按下Enter的时候触发对应的Button的Click事件,不是调用其对应的处理过程。
2>如果想实现热键
只需给对应的Button.Text做文章就可以了。
如Text="&Save"你按下Alt+S的时候如同点击Button。
3>通过快捷键访问窗体中的按钮。
第一步首先设置窗体的KeyPreview =true
至于为什么,msdn如是说:
当此属性设置为 true 时,窗体将接收所有 KeyPress、KeyDown 和 KeyUp 事件。在窗体的事件处理程序处理完该击键后,然后将该击键分配给具有焦点的控件。例如,如果 KeyPreview 属性设置为 true,而且当前选定的控件是 TextBox,则在该窗体的事件处理方法处理击键后,TextBox 控件将接收按下的键。要仅在窗体级别处理键盘事件并且不允许控件接收键盘事件,请将窗体 KeyPress 事件处理方法中的keyPressEventArgs.Handled 属性设置为 true。
第二步就是在窗体的Keyup处理过程中写东西了,当然keydown也是可以
如处理 ctrl+end:
If(e.KeyData = Keys.Control + Keys.End)
比如设置 CancelButton = btnExit那么当你按下Esc的时候就可以触发btnExit.Click事件。
同样道理如果设置AcceptButton = btnExit,当按下Enter的时候会执行btnExit.Click事件。
这里需要注意的是一个窗体的AcceptButton和CancelButton都只能设置一个,设置了AcceptButton只是表示用户按下Enter的时候触发对应的Button的Click事件,不是调用其对应的处理过程。
2>如果想实现热键
只需给对应的Button.Text做文章就可以了。
如Text="&Save"你按下Alt+S的时候如同点击Button。
3>通过快捷键访问窗体中的按钮。
第一步首先设置窗体的KeyPreview =true
至于为什么,msdn如是说:
当此属性设置为 true 时,窗体将接收所有 KeyPress、KeyDown 和 KeyUp 事件。在窗体的事件处理程序处理完该击键后,然后将该击键分配给具有焦点的控件。例如,如果 KeyPreview 属性设置为 true,而且当前选定的控件是 TextBox,则在该窗体的事件处理方法处理击键后,TextBox 控件将接收按下的键。要仅在窗体级别处理键盘事件并且不允许控件接收键盘事件,请将窗体 KeyPress 事件处理方法中的keyPressEventArgs.Handled 属性设置为 true。
第二步就是在窗体的Keyup处理过程中写东西了,当然keydown也是可以
如处理 ctrl+end:
If(e.KeyData = Keys.Control + Keys.End)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
属性栏里面不是有快捷键设置么?直接填上就好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询