C#界面里Form.KeyPreview 属性的使用
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#界面里Form.KeyPreview 属性的使用相关的知识,希望对你有一定的参考价值。
C#界面里Form.KeyPreview 属性的使用
只争朝夕,不负韶华。
用心去练习每一项技术,编写每一行代码,都是对未来的向往,对未来的准备,都是增强编程能力的表现。
有时候需要拦截一些按键处理,或者提前做一些处理,就需要设置这个Form.KeyPreview属性。
Form.KeyPreview属性:该值指示在将键事件传递到具有焦点的控件前,窗体是否将接收此键事件。
如果窗体将接收所有按键事件,则为 true;如果窗体上当前选定控件接收键事件,则为 false。 默认值为 false。
当我们设置为false:
// 设置KeyPreview为true, 允许窗口提前处理焦点控件的按键消息。
this.KeyPreview = false;
当设置为这种情况下,按键没有提前处理,所以列表框里没有输出字符值,如下图:
当点击button2按钮时,它就会变换设置值:
this.KeyPreview = !this.KeyPreview;
这时就会先处理按键消息,再发送给焦点按钮处理了,如下:
整个例子的代码如下:
以上是关于C#界面里Form.KeyPreview 属性的使用的主要内容,如果未能解决你的问题,请参考以下文章
C#界面里的winform ContextMenuStrip属性