首页 > 代码库 > Form类的KeyPreview属性
Form类的KeyPreview属性
首先需要知道一个知识点,Form控件,Panel控件和GroupBox控件等容器类控件默认是不接收焦点的,而是负责管理容器中控件的焦点。当容器控件被选中时,默认把焦点传送至容器内Tab顺序为0的控件。
当Form窗体中包含可以接收焦点和键盘事件的控件时,如TextBox,如果KeyPreview属性设置为false(默认值),那么Form类是不响应键盘消息的,消息被直接发送至拥有焦点的控件。如果需要在控件接收键盘事件前对键盘事件(KeyPress,KeyDown,KeyUp)进行处理,便需要将KeyPreview属性设置为true。这时可以重写Form类的OnKeyPress等函数,或者为KeyPress属性添加事件处理函数。
这里有一个例外情况,就是当Form窗体中不包含可以接收焦点和键盘事件的控件(包括直接包含和通过窗体上其他容器控件包含),那么无论KeyPreview的属性值为true或false,Form类总能够接收到键盘事件。
Form类的KeyPreview属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。