深入理解C#窗體關閉事件
很多初學者都想把默認的C#關閉按鈕事件弄明白,主要用在我想關閉窗口但是我還想在關閉前有一個提示,可是網上真的有太多的答案都是錯的,今天在這裡從頭到尾給大傢設置一下,希望可以幫到大傢。
1、第一步
2、第二步
名號命名好後,雙擊這個名字就可以對這個事件進行編輯瞭,找不到的就可以進入.cs文件自己查看
private void frmMom_FormClosing(object sender, FormClosingEventArgs e) { DialogResult result = MessageBox.Show("你確定要關閉嗎!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (result == DialogResult.OK) { Console.WriteLine("1"); e.Cancel = false; //點擊OK } else { Console.WriteLine("2"); e.Cancel = true; } }
3、最後可以檢查一下設計designer.cs的文件看看對不對
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMom_FormClosing);
this.frmMom_FormClosing
不能和FormClosing
重名否則報錯,記住啊
還有一個屬性就是FormClosed,這個方法是用在關閉頁面後你想執行的方法,比如關閉頁面後關閉一個服務之類的。
C# 使用多線程,在關閉窗體時 怎麼關閉窗體的所有線程,使程序退出。
- this.Close(); 隻是關閉當前窗口,若不是主窗體的話,是無法退出程序的,另外若有托管線程(非主線程),也無法幹凈地退出;
- Application.Exit(); 強制所有消息中止,退出所有的窗體,但是若有托管線程(非主線程),也無法幹凈地退出;
- Application.ExitThread(); 強制中止調用線程上的所有消息,同樣面臨其它線程無法正確退出的問題;
- System.Environment.Exit(0); 這是最徹底的退出方式,不管什麼線程都被強制退出,把程序結束的很幹凈。
- Thread_VIEW.Abort(); 關閉Thread_VIEW線程
- Thread_SAVE.Abort(); 關閉Thread_SAVE線程
到此這篇關於深入理解C#窗體關閉事件的文章就介紹到這瞭,更多相關C#窗體關閉事件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- C# 並行和多線程編程——認識和使用Task
- C#中把FastReport.Net報表控件的數據保存到數據庫
- c#中task與thread區別及其使用的方法示例
- C#線程中彈窗的制作方法
- C#多線程系列之線程的創建和生命周期