首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FormClosing关闭事件未写入文件

FormClosing关闭事件未写入文件
EN

Stack Overflow用户
提问于 2012-05-21 21:36:32
回答 3查看 1.2K关注 0票数 1

我有一个备用电源给我的电脑,它与它和墙壁连接在一起。当我从墙上拔出电源线时,在备用电源关闭计算机之前,我有2-5分钟的时间。正是在这段时间,我想用下面的代码将数据写入一个文件:

代码语言:javascript
复制
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    if (e.CloseReason.Equals(CloseReason.WindowsShutDown))
    {
        writeContents("Interrupted");
        sendMessage("PWR - The Spring Test Machine has stopped");                
        return;
    }

    if (e.CloseReason.Equals(CloseReason.UserClosing)) 
    {
        if (MessageBox.Show("You are closing this application.\n\nAre you sure you wish to exit ?", "Warning: Not Submitted", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Stop) == DialogResult.Yes)
        {
            writeContents("Interrupted");
            return;
        }
        else
            e.Cancel = true; 
    } 
}

问题是它不起作用。我不认为闭幕活动会被召回。任何想法都将不胜感激。谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-05-21 21:46:57

从这里开始http://www.daniweb.com/software-development/csharp/threads/253249/application-exit-does-not-trigger-the-formclosing

当你使用任务管理器“杀死”应用程序时,它不会触发任何事件,它只是停止执行,这就是你如何关闭已经冻结的应用程序。如果您等待它处理任何事件,那么它仍然会被冻结。

至于当你重新启动计算机或关机时,只有当有足够的时间时,事件才会被调用,系统会告诉所有应用程序它正在关闭,并且只给它们很短的时间来处理业务,然后才会杀死它们。Windows7将显示一个对话框,告诉你哪些应用程序仍在忙碌,并询问你是要杀死它们并关闭它们,还是取消它们。但对于XP,它只会在X秒后杀死它们。

这就是我所想象的FormClosing的行为。Application.ApplicationExit事件会是一个更好的监听事件吗?

票数 3
EN

Stack Overflow用户

发布于 2012-05-21 21:47:08

下面是一些关于FormClosing事件属性的有用信息:

Bug in FormClosingEventArgs.CloseReason?

您可以尝试使用switch语句,如下所示:Detect reason for form closing

票数 1
EN

Stack Overflow用户

发布于 2012-05-21 21:47:19

不确定它是否工作,因为我需要先检查它,而我现在不在我的机器前面..但是,您是否也尝试过CloseReason枚举的其他元素?试试TaskManagerClosing。在任何情况下,首先尝试抛出一条消息( messagebox ),看看你是否真的有你想要的正确的CloseReason,如果你不想每次检查电脑都关闭,也不要忘记使用e.Cancel = true。在此之后,检查您写入文件的方法是否正确。

也许这也会对Prompt user to save when closing app有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10686323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档