我的问题是,当我关闭事件时,我将我的应用程序隐藏在系统托盘中, 用户可以通过双击通知图标来恢复它。关闭事件仅在我的wpf应用程序中首次使用。
private void SparkWindow_Closing(object sender, CancelEventArgs e)
{
DialogResult dr = MessageBox.Show("Do you really want to close application?","Confirmation",MessageBoxButton.YesNo,MessageBoxIcon.Question);
if(dr==DialogResult.No)
{
e.Cancel = true;
this.Hide();
notifyIcon.Visibility = System.Windows.Visibility.Visible;
}
else
{
Application.Current.ShutDown();
}
}
这就是我处理结束事件的方式。
以下给定的代码用于将其从系统托盘放回原位。
private void OnNotifyIconDoubleClick(object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Left)
{
this.Show();
this.WindowState = this.lastWindowState;
this.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
}
}
但是当它恢复时它不会第二次触发结束事件。