KEYPREVIEW 属性

问题引入:
程序中窗体级的快捷键不好用,或者是窗体级的代码不响应...........

KeyPreview 属性

获取或设置一个值,该值指示在将键事件传递到具有焦点的控件前,窗体是否将接收此键事件。

属性值
如果窗体将接收所有键事件,则为 true;如果窗体上当前选定控件接收键事件,则为 false。默认为 false

备注
当此属性设置为 true 时,窗体将接收所有 KeyPress、KeyDown 和 KeyUp 事件。在窗体的事件处理程序处理完该击键后,然后将该击键分配给具有焦点的控件。例如,如果 KeyPreview 属性设置为 true,而且当前选定的控件是 TextBox,则在该窗体的事件处理方法处理击键后,TextBox 控件将接收按下的键。要仅在窗体级别处理键盘事件并且不允许控件接收键盘事件,请将窗体的 KeyPress 事件处理方法中的 KeyPressEventArgs.Handled 属性设置为 true。

可以使用此属性处理应用程序中的所有的击键事件,并可以处理击键事件或调用适当的控件来处理击键事件。例如,当应用程序使用功能键时,可能希望在窗体级别处理这些击键,而不是为可能接收击键事件的每个控件编写代码。

注意   如果窗体没有可见或启用的控件,则该窗体自动接收所有键盘事件。

原文地址:https://www.cnblogs.com/wingfay/p/1342140.html