wpf主窗口退出提示问题

沧海1梦 2017-08-19 10:51:39
请教个问题,wpf主窗口关闭的时候怎么样检测是否有操作?我现在关闭的时候会弹出这个窗口,但是有个问题,就是我一打开,没有任何操作,再关闭,也会提示。而比如office这样的软件视直接退出,想问下应该怎么修改?

       void MainWindow_Closing(object sender, CancelEventArgs e)
{
var result = MessageBox.Show(" 是否已经保存", "退出系统", MessageBoxButton.YesNo);
if (result == MessageBoxResult.Yes)
{
//Application.Current.Shutdown();
Environment.Exit(0);
}
else if (result == MessageBoxResult.No)
{
e.Cancel = true;
}
//else if (result == MessageBoxResult.Cancel)
//{
// e.Cancel = true;
//}
}
...全文
448 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
沧海1梦 2017-08-22
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
[quote=引用 4 楼 cwt19902010 的回复:] [quote=引用 1 楼 duanzi_peng 的回复:] wpf主窗口关闭的时候怎么样检测是否有操作 -》用一个“状态” 来表示是否有操作。 例如,每一个vm中增加一个枚举,包括“正常‘,”编辑“等,每次进行操作 就修改这个枚举,进而可以判断这个枚举来确定当前状态。 但是有个问题,就是我一打开,没有任何操作,再关闭,也会提示 -》这个提示跟有无操作无关,只要执行窗口关闭,就会提示。
版主你好,我想做的就是,假如我打开程序,不执行操作,就关闭,希望不提示弹窗。[/quote] 我已经说了 加个标示 来判断是否有修改,在关闭的时候 判断这个标示 来确定是否弹出窗口。[/quote]好的,多谢版主
exception92 2017-08-22
  • 打赏
  • 举报
回复
引用 4 楼 cwt19902010 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] wpf主窗口关闭的时候怎么样检测是否有操作 -》用一个“状态” 来表示是否有操作。 例如,每一个vm中增加一个枚举,包括“正常‘,”编辑“等,每次进行操作 就修改这个枚举,进而可以判断这个枚举来确定当前状态。 但是有个问题,就是我一打开,没有任何操作,再关闭,也会提示 -》这个提示跟有无操作无关,只要执行窗口关闭,就会提示。
版主你好,我想做的就是,假如我打开程序,不执行操作,就关闭,希望不提示弹窗。[/quote] 我已经说了 加个标示 来判断是否有修改,在关闭的时候 判断这个标示 来确定是否弹出窗口。
沧海1梦 2017-08-22
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
wpf主窗口关闭的时候怎么样检测是否有操作 -》用一个“状态” 来表示是否有操作。 例如,每一个vm中增加一个枚举,包括“正常‘,”编辑“等,每次进行操作 就修改这个枚举,进而可以判断这个枚举来确定当前状态。 但是有个问题,就是我一打开,没有任何操作,再关闭,也会提示 -》这个提示跟有无操作无关,只要执行窗口关闭,就会提示。
版主你好,我想做的就是,假如我打开程序,不执行操作,就关闭,希望不提示弹窗。
沧海1梦 2017-08-22
  • 打赏
  • 举报
回复
引用 2 楼 Libby1984 的回复:
这个需要你自己在显示弹框之前做校验,如果没有更改就不弹框。其实office等软件也是这么做的,在关闭事件中进行检查,有修改则弹框。
是的,我就是卡在怎么判断是否有更改这里,假如我给他一个bool 型的变量,如果true 弹窗,false,直接关闭,但是触发好像还有一些问题,我的程序里面有许多子窗口,通过主窗口上的按钮跳转到子窗口,然后点击处理,再回到主窗口,我不知道该怎么触发这个判断?希望能指点下,谢谢
exception92 2017-08-21
  • 打赏
  • 举报
回复
wpf主窗口关闭的时候怎么样检测是否有操作 -》用一个“状态” 来表示是否有操作。 例如,每一个vm中增加一个枚举,包括“正常‘,”编辑“等,每次进行操作 就修改这个枚举,进而可以判断这个枚举来确定当前状态。 但是有个问题,就是我一打开,没有任何操作,再关闭,也会提示 -》这个提示跟有无操作无关,只要执行窗口关闭,就会提示。
  • 打赏
  • 举报
回复
这个需要你自己在显示弹框之前做校验,如果没有更改就不弹框。其实office等软件也是这么做的,在关闭事件中进行检查,有修改则弹框。

8,737

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧