引言
我们通常用通过点击取消按键或者右上角的“x”盒子退出的方法来实现关闭当前form窗体。但要使用按键esc退出关闭窗口就显得更加高级了,实现起来并不困难,但用户体验会提升一个档次,这里我讲一讲我小结的几个方法,我用的vs2019。
方法一 同步按钮法
- 我所谓的同步按钮也就是我们本来就有一个退出或者取消的按键,我只要有这个按键的退出事件,那么我们就直接可以利用这个按键的事件就可以了,这个方法在vs中的属性中就已经设计好了,所以这个方法最为简单,完全没有难度可言。
1、首先要有一个可以单击退出的按键,在你建立的窗体中添加一个按键即可,添加最简单的退出代码。
public partial class form_test : form { public form_test() { initializecomponent(); } private void button_exit_click(object sender, eventargs e) { this.close(); } }
2、其次只有设置窗体属性了,有了之前的事件(button_exit_click),我们就可以将取消按键的定义为我们的退出事件。如下图,我们将cancelbutton选择成我们的button_exit按键控件,完成。
方法二 监听按键法
顾名思义,实时监听按键按下,新建一个keypress事件或者keydown事件,单检测到esc按键按下时,就执行关闭的动作,大家很快就联想到了,这里使用其它的自定义按键都是可以的。这个方法的优点就是不需要有控件button的存在,那么,就需要使用代码来描述监听的按下动作。
1、这里的第一步是将属性keypreview设置为true,这一步最为关键容易遗漏。当然使用代码直接设置也完全没有问题。
2、将键盘按键触发事件代码加入,下面的两种事件方法都可以(keypress或keydown)。
private void form_test_keypress(object sender, keypresseventargs e) { if (e.keychar == (char)keys.escape)//按下esc //27 { this.close(); } } private void form_configpaparam_keydown(object sender, keyeventargs e) { if (e.keycode == keys.escape) { this.close(); } }
方法三 隐藏按钮法
- 这个同第一个方法的原理基本一致,同样是利用已经存在的button。但是区别是按键被隐藏了,这是一种另辟蹊径的偏门方法,不常用。 需要注意的是,要将button控件的size变成0,0,也就是没有尺寸,避免显示出来,有人问,可以关掉visible来隐藏吗?大家可以试一试哦!
最后
方法总比困难多,条条大路通罗马。
到此这篇关于c#实现esc退出窗口的三种方法的文章就介绍到这了,更多相关c# esc退出窗口内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论