我正在将归结为文档编辑器。当应用程序关闭时,我需要提示用户保存更改。这很容易。我的问题是什么时候不提示用户,而只是丢弃未保存的数据并关闭,是否合适?
在FormClosing事件中,CloseReason枚举包括:
我认为WindowsShutDown和TaskManagerClosing不应引起“保存更改?”提示出现,以防止应用程序挂起并显示该提示。
这是标准做法吗,还是我应该在这里做其他事情吗?
为了清楚起见,下面是代码:
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
if (!(e.CloseReason == CloseReason.WindowsShutDown || e.CloseReason == CloseReason.TaskManagerClosing)
&& this.ChangesPending())
{
switch (MessageBox.Show(this, "Save changes?", "Save Changes", MessageBoxButtons.YesNoCancel))
{
case DialogResult.Yes:
this.Save();
break;
case DialogResult.No:
// Do nothing
break;
case DialogResult.Cancel:
e.Cancel = true;
break;
}
}
}
最佳答案
我认为TaskManagerClosing
应该是不提示的唯一原因(如果有的话)。就个人而言,我想在出现WindowsShutDown
时得到提示。如果要关闭Windows并保存未保存文档,则表示我已经忘记了。
关于.net - 关闭应用程序时提示用户保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/462903/