C#實現(xiàn)ESC退出窗口的三種方法
引言
我們通常用通過點擊取消按鍵或者右上角的“X”盒子退出的方法來實現(xiàn)關閉當前Form窗體。但要使用按鍵ESC退出關閉窗口就顯得更加高級了,實現(xiàn)起來并不困難,但用戶體驗會提升一個檔次,這里我講一講我小結的幾個方法,我用的VS2019。
方法一 同步按鈕法
- 我所謂的同步按鈕也就是我們本來就有一個退出或者取消的按鍵,我只要有這個按鍵的退出事件,那么我們就直接可以利用這個按鍵的事件就可以了,這個方法在VS中的屬性中就已經(jīng)設計好了,所以這個方法最為簡單,完全沒有難度可言。
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按鍵控件,完成。

方法二 監(jiān)聽按鍵法
顧名思義,實時監(jiān)聽按鍵按下,新建一個KeyPress事件或者KeyDown事件,單檢測到ESC按鍵按下時,就執(zhí)行關閉的動作,大家很快就聯(lián)想到了,這里使用其它的自定義按鍵都是可以的。這個方法的優(yōu)點就是不需要有控件button的存在,那么,就需要使用代碼來描述監(jiān)聽的按下動作。
1、這里的第一步是將屬性KeyPreview設置為true,這一步最為關鍵容易遺漏。當然使用代碼直接設置也完全沒有問題。

2、將鍵盤按鍵觸發(fā)事件代碼加入,下面的兩種事件方法都可以(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();
}
}
方法三 隱藏按鈕法
- 這個同第一個方法的原理基本一致,同樣是利用已經(jīng)存在的button。但是區(qū)別是按鍵被隱藏了,這是一種另辟蹊徑的偏門方法,不常用。 需要注意的是,要將button控件的size變成0,0,也就是沒有尺寸,避免顯示出來,有人問,可以關掉visible來隱藏嗎?大家可以試一試哦!
最后
方法總比困難多,條條大路通羅馬。
到此這篇關于C#實現(xiàn)ESC退出窗口的三種方法的文章就介紹到這了,更多相關C# ESC退出窗口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#調(diào)用OpenXml讀取excel行數(shù)據(jù)
這篇文章主要為大家詳細介紹了C#如何調(diào)用OpenXml實現(xiàn)讀取excel行數(shù)據(jù),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-12-12

