[C#] Winform 偵測使用者按下關閉並且執行某行為

2017-05-05

最近因為公司專案要碰一些比較老的技術,遇到一個問題可以筆記一下,就是按下右上方關閉的時候或是呼叫FORM 的  this.Close(); 的時候如何跳出視窗確定是否關閉,或是執行其他function

很簡單就是對form 本身的 FormClosing 事件加入下列程式碼:

            if (e.CloseReason == CloseReason.UserClosing)
            {
                var res = MessageBox.Show("是否關閉?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (res != DialogResult.Yes)
                {
                    e.Cancel = true;
                }
            }

其中重點就是 CloseReasion 其實他還有很多判斷的選項 ,詳細內文在這邊:

image

文件位置: https://msdn.microsoft.com/zh-tw/library/system.windows.forms.closereason(v=vs.110).aspx

很簡單,筆記一下。


當麻許的超技八 2014 | Donma Hsu Design.