Jon*_*n B 5 .net shutdown application-shutdown winforms
我正在撰写归结为文档编辑器的内容.当应用程序关闭时,我需要提示用户保存更改.这很容易.我的问题是什么时候不提示用户,而只是丢弃未保存的数据并关闭.
在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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我认为TaskManagerClosing应该是不提示的唯一原因(如果有的话)。就我个人而言,我希望在出现以下情况时得到提示WindowsShutDown。如果我关闭 Windows 时某个地方有一个未保存的文档,则意味着我已经忘记了它。
| 归档时间: |
|
| 查看次数: |
1771 次 |
| 最近记录: |