1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > WinForm中KeyDown KeyPress和KeyUp的顺序与区别解析 PreviewKeyDown

WinForm中KeyDown KeyPress和KeyUp的顺序与区别解析 PreviewKeyDown

时间:2020-09-07 15:47:03

相关推荐

WinForm中KeyDown KeyPress和KeyUp的顺序与区别解析 PreviewKeyDown

PreviewKeyDown:在焦点位于此控件上的情况下,当有按键动作时发生(在 KeyDown 事件之前发生)。

小注:

某些按键,比如 Tab、Return、Esc 和箭头键,通常会被某些控件忽略,因为它们没有被视为输入按键。 例如,默认情况下,Button 控件忽略箭头键。 通常按箭头键会使焦点移动到上一个或下一个控件。 箭头键被视为导航键,按这些键通常不会引发 Button 的 KeyDown 事件。 但是,按 Button 的箭头键的确将引发 PreviewKeyDown 事件。 通过为 Button 处理 PreviewKeyDown 事件和把 IsInputKey 属性设置为 true,可以在按箭头键时提出 KeyDown 事件。 但是,如果处理箭头键,则焦点将不再移动到上一个或下一个控件。

KeyDown:在控件有焦点的情况下按下键时发生。

小注:

若要仅在窗体级别处理键盘事件而不允许其他控件接收键盘事件,请将窗体的 KeyPress 事件处理方法中的 KeyPressEventArgs.Handled 属性设置为 true。 某些键,如 Tab、Return、Esc 和箭头键,由控件自动处理。 为使这些键引发 KeyDown 事件,必须在窗体上的每个控件中重写 IsInputKey 方法。 用于重写 IsInputKey 的代码需要确定是否按下了某个特殊键,并且需要返回一个 true 值。 不用重写 IsInputKey 方法,您可以处理 PreviewKeyDown 事件并将 IsInputKey 属性设置为 true。 有关代码示例,请参见 PreviewKeyDown 事件。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。