深入理解C#窗體關(guān)閉事件
很多初學者都想把默認的C#關(guān)閉按鈕事件弄明白,主要用在我想關(guān)閉窗口但是我還想在關(guān)閉前有一個提示,可是網(wǎng)上真的有太多的答案都是錯的,今天在這里從頭到尾給大家設(shè)置一下,希望可以幫到大家。
1、第一步

2、第二步
名號命名好后,雙擊這個名字就可以對這個事件進行編輯了,找不到的就可以進入.cs文件自己查看
private void frmMom_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("你確定要關(guān)閉嗎!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (result == DialogResult.OK)
{
Console.WriteLine("1");
e.Cancel = false;
//點擊OK
}
else
{
Console.WriteLine("2");
e.Cancel = true;
}
}
3、最后可以檢查一下設(shè)計designer.cs的文件看看對不對
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMom_FormClosing);
this.frmMom_FormClosing不能和FormClosing 重名否則報錯,記住啊
還有一個屬性就是FormClosed,這個方法是用在關(guān)閉頁面后你想執(zhí)行的方法,比如關(guān)閉頁面后關(guān)閉一個服務(wù)之類的。
C# 使用多線程,在關(guān)閉窗體時 怎么關(guān)閉窗體的所有線程,使程序退出。
- this.Close(); 只是關(guān)閉當前窗口,若不是主窗體的話,是無法退出程序的,另外若有托管線程(非主線程),也無法干凈地退出;
- Application.Exit(); 強制所有消息中止,退出所有的窗體,但是若有托管線程(非主線程),也無法干凈地退出;
- Application.ExitThread(); 強制中止調(diào)用線程上的所有消息,同樣面臨其它線程無法正確退出的問題;
- System.Environment.Exit(0); 這是最徹底的退出方式,不管什么線程都被強制退出,把程序結(jié)束的很干凈。
- Thread_VIEW.Abort(); 關(guān)閉Thread_VIEW線程
- Thread_SAVE.Abort(); 關(guān)閉Thread_SAVE線程
到此這篇關(guān)于深入理解C#窗體關(guān)閉事件的文章就介紹到這了,更多相關(guān)C#窗體關(guān)閉事件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# char[]與string byte[]與string之間的轉(zhuǎn)換詳解
在本篇文章里小編給大家分享的是關(guān)于C# char[]與string byte[]與string之間的轉(zhuǎn)換的知識點內(nèi)容,需要的朋友們參考下2019-11-11
C#實現(xiàn)DataTable轉(zhuǎn)換成IList的方法
這篇文章主要介紹了C#實現(xiàn)DataTable轉(zhuǎn)換成IList的方法,涉及C#針對DataTable操作的相關(guān)技巧,需要的朋友可以參考下2016-03-03

