木子屋 Dnawo's BLOG

WinForms实现关闭需确认

👤 dnawo 📅 2008-09-08 👁 4360 👍 0 💬 0 🔄 芝麻人生
/// <summary>
/// 关闭需确认
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Closing(object sender, FormClosingEventArgs e)
{
    if (MessageBox.Show("是否确认退出程序?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
    {
        //关闭所有的线程
        this.Dispose();
        this.Close();
    }
    else
    {
        e.Cancel = true;
    }
}

附:几种程序退出方法比较

·this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
·Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
·Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
·System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 WinForms通用对话框使用示例 下一篇 → 左键、中键、右键单击判断