【问题标题】:How to show Notification Message on Shutdown of Application WPF如何在应用程序 WPF 关闭时显示通知消息
【发布时间】:2013-09-10 00:57:21
【问题描述】:

我制作了一个应用程序,当用户单击MainWindow 的关闭按钮时,整个应用程序将关闭。我想在关闭应用程序后显示通知。如何在应用程序关闭时显示吐司消息? 这里的代码是:

private void Close(object sender, EventArgs e)
{
     base.OnClosed(e);
     Application.Current.Shutdown();
 }

谁能回答我的问题? 如果我的问题不清楚,请随时提问!

【问题讨论】:

  • 为什么不隐藏应用程序的可见性,显示通知,然后关闭?
  • 您到底想通知用户什么?他希望你的应用关闭,不要让他失望。
  • @Shoe 感谢您的评论!如何隐藏可见性?
  • 用户知道应用程序因为消失而关闭。绝对没有理由显示应用程序已关闭的消息。
  • @17of26 没有任何理由。这是应用程序的要求。你能说服你的客户停止他/她想要的事情吗??

标签: c# .net wpf


【解决方案1】:

尝试为Window.Closing 事件实现处理程序:

private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
    MessageBox.Show("Hi, I'm closing!");
}

这将发生在 Window.Closed 事件之前。

更新>>>

@Andy 和 Tameen,请查看 MSDN 上的 Window.Closing Event 页面,了解此事件真正何时发生。

在调用Close之后直接发生,可以处理取消窗口关闭。

更新 2 >>>

您的问题不表明您要取消Close 事件。但是,这正是Closing 事件的用途:

private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
    MessageBox.Show("Hi, I'm closing!");
    e.Cancel = true;
}

【讨论】:

  • 删除了我的反对票,因为不正确的陈述已被删除。请注意,当我最初反对此文本时,包含“这将发生after Window.Close event”。从技术上讲,没有关闭事件,只有关闭和关闭。请注意,close event 和 close method 是非常不同的东西,这就是我投反对票的原因,因为我认为文本的意思是 Closed event,而不是 Close method。
【解决方案2】:

当主窗口关闭时,您的应用程序默认关闭。在Closed 事件中允许按钮发出关闭窗口的信号并处理吐司。

<Window ... Closed="Window_Closed" />

private void Button_Click(object sender, RoutedEventArgs e)
{
    this.Close();
}

private void Window_Closed(object sender, EventArgs e)
{
   MessageBox.Show("Cya");
}

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多