【问题标题】:Handle the close event via task bar通过任务栏处理关闭事件
【发布时间】:2015-01-07 22:00:44
【问题描述】:

我正在开发一个 WPF 应用程序。我通常通过任务栏关闭应用程序。当我们将鼠标放在任务栏上时,它将显示应用程序的预览。我将在该预览上按鼠标中键,这样应用程序就会关闭。

这种情况在 WPF 应用程序中不起作用。它会将应用程序发送到后台(GUI 将退出,但应用程序仍在后台运行)。我唯一的选择是处理OnClosing() 事件。还有其他方法吗?

【问题讨论】:

  • 我认为在事件处理上没有任何区别,我对这种关闭应用程序并不熟悉。您确定这不是由第三方工具完成的吗?
  • 这里没有完整的任务栏。应用程序的关闭方式是否重要?窗口中的 X 按钮没有重现相同的问题?
  • 这完全像一个后台线程没有被关闭。
  • 如果你说的是中心(旋转轮)按,那么它应该在 windows 的情况下打开相同应用程序的新实例。
  • @AshokRathod 你是对的,我说的是这种情况。但是当我们这样做时,像 chrome、vs 等应用程序会关闭

标签: c# wpf windows-8 windows-7


【解决方案1】:

当我在一个不是我的主窗口(或启动 URI)对象的窗口上尝试做同样的事情(关闭应用程序)时,我遇到了同样的问题。所以我的建议是请处理关闭您的辅助窗口(主窗口除外)的事件并尝试通过以下代码关闭或退出您的应用程序

private void DataWindow_Closing(object sender, CancelEventArgs e)
{
  Application.Current.Shutdown();
  // Environment.Exit();
}

当您在主窗口上并尝试退出应用程序时,Wpf 会自动关闭应用程序。

【讨论】:

  • 这是我知道并在我的代码中使用的东西,我在我的问题本身中注意到了它。听起来没有其他相同的方法。所以接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多