C#實(shí)現(xiàn)ESC退出窗口的三種方法
引言
我們通常用通過(guò)點(diǎn)擊取消按鍵或者右上角的“X”盒子退出的方法來(lái)實(shí)現(xiàn)關(guān)閉當(dāng)前Form窗體。但要使用按鍵ESC退出關(guān)閉窗口就顯得更加高級(jí)了,實(shí)現(xiàn)起來(lái)并不困難,但用戶體驗(yàn)會(huì)提升一個(gè)檔次,這里我講一講我小結(jié)的幾個(gè)方法,我用的VS2019。
方法一 同步按鈕法
- 我所謂的同步按鈕也就是我們本來(lái)就有一個(gè)退出或者取消的按鍵,我只要有這個(gè)按鍵的退出事件,那么我們就直接可以利用這個(gè)按鍵的事件就可以了,這個(gè)方法在VS中的屬性中就已經(jīng)設(shè)計(jì)好了,所以這個(gè)方法最為簡(jiǎn)單,完全沒(méi)有難度可言。
1、首先要有一個(gè)可以單擊退出的按鍵,在你建立的窗體中添加一個(gè)按鍵即可,添加最簡(jiǎn)單的退出代碼。
public partial class Form_test : Form { public Form_test() { InitializeComponent(); } private void button_exit_Click(object sender, EventArgs e) { this.Close(); } }
2、其次只有設(shè)置窗體屬性了,有了之前的事件(button_exit_Click),我們就可以將取消按鍵的定義為我們的退出事件。如下圖,我們將CancelButton選擇成我們的button_exit按鍵控件,完成。
方法二 監(jiān)聽(tīng)按鍵法
顧名思義,實(shí)時(shí)監(jiān)聽(tīng)按鍵按下,新建一個(gè)KeyPress事件或者KeyDown事件,單檢測(cè)到ESC按鍵按下時(shí),就執(zhí)行關(guān)閉的動(dòng)作,大家很快就聯(lián)想到了,這里使用其它的自定義按鍵都是可以的。這個(gè)方法的優(yōu)點(diǎn)就是不需要有控件button的存在,那么,就需要使用代碼來(lái)描述監(jiān)聽(tīng)的按下動(dòng)作。
1、這里的第一步是將屬性KeyPreview設(shè)置為true,這一步最為關(guān)鍵容易遺漏。當(dāng)然使用代碼直接設(shè)置也完全沒(méi)有問(wèn)題。
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(); } }
方法三 隱藏按鈕法
- 這個(gè)同第一個(gè)方法的原理基本一致,同樣是利用已經(jīng)存在的button。但是區(qū)別是按鍵被隱藏了,這是一種另辟蹊徑的偏門方法,不常用。 需要注意的是,要將button控件的size變成0,0,也就是沒(méi)有尺寸,避免顯示出來(lái),有人問(wèn),可以關(guān)掉visible來(lái)隱藏嗎?大家可以試一試哦!
最后
方法總比困難多,條條大路通羅馬。
到此這篇關(guān)于C#實(shí)現(xiàn)ESC退出窗口的三種方法的文章就介紹到這了,更多相關(guān)C# ESC退出窗口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WPF實(shí)現(xiàn)能自由改變形狀的四邊形和六邊形
這篇文章主要為大家詳細(xì)介紹了WPF如何實(shí)現(xiàn)能自由改變形狀的四邊形和六邊形,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03C#調(diào)用OpenXml讀取excel行數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了C#如何調(diào)用OpenXml實(shí)現(xiàn)讀取excel行數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-12-12C#學(xué)習(xí)筆記- 淺談數(shù)組復(fù)制,排序,取段,元組
下面小編就為大家?guī)?lái)一篇C#學(xué)習(xí)筆記- 淺談數(shù)組復(fù)制,排序,取段,元組。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08