从任务管理器关闭应用程序时发生FormClosing事件

时间:2018-07-24 20:14:59

标签: c# winforms

在Winforms应用程序中,当用户关闭该应用程序以提示他或她保存数据时,我会显示一个MessageBox。通过任务管理器关闭应用程序时,不应出现此对话框,因为无论如何都应强制关闭应用程序。但是,我遇到一个问题,在任务管理器关闭应用程序之前,我的警告对话框将在屏幕上闪烁。我曾尝试在e.CloseReason中检查FormClosingEventHandler,但无济于事。我什至制作了一个简单的项目来演示该问题(这实际上是我所拥有的唯一代码)。

    private void Form1_Closing(object sender, FormClosingEventArgs e)
    {
        switch (e.CloseReason)
        {
            case CloseReason.UserClosing:
                MessageBox.Show("User");
                break;
            case CloseReason.TaskManagerClosing:
                MessageBox.Show("Task Manager");
                break;
            default:
                MessageBox.Show("Other");
                break;
        }
    }

当我通过任务管理器>结束任务杀死该应用程序时,将弹出“用户”消息,而不是“任务管理器”!我已经看到很多有关处理此事件的帖子;但是,它们似乎都无法解决我的问题。

注意:我正在使用.Net版本4.6.01586和Windows 10。

0 个答案:

没有答案
相关问题