zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#界面里Form.KeyPreview 属性的使用

c#属性 界面 Form 使用
2023-09-14 09:10:03 时间

C#界面里Form.KeyPreview 属性的使用

只争朝夕,不负韶华。
用心去练习每一项技术,编写每一行代码,都是对未来的向往,对未来的准备,都是增强编程能力的表现。

有时候需要拦截一些按键处理,或者提前做一些处理,就需要设置这个Form.KeyPreview属性。
Form.KeyPreview属性:该值指示在将键事件传递到具有焦点的控件前,窗体是否将接收此键事件。
如果窗体将接收所有按键事件,则为 true;如果窗体上当前选定控件接收键事件,则为 false。 默认值为 false。

当我们设置为false:
// 设置KeyPreview为true, 允许窗口提前处理焦点控件的按键消息。
this.KeyPreview = false;

当设置为这种情况下,按键没有提前处理,所以列表框里没有输出字符值,如下图:


当点击button2按钮时,它就会变换设置值:
this.KeyPreview = !this.KeyPreview;

 

这时就会先处理按键消息,再发送给焦点按钮处理了,如下:


整个例子的代码如下: