WPF退出当前程序(关闭全部窗体并退出程序)

(c#)记录最近遇到的一个问题和暂时解决方法:

问题描述:调试程序时,在程序主页面未做其他操作情况下点击程序关闭按钮,程序正常关闭。但是当我操作程序(新建)时,调用了ShellView的一个视图后,再点击程序关闭按钮,这时程序窗口执行了close关闭但是后台程序没有关闭,调试也一直处于挂起状态,导致我程序重载OnExit()中的函数未执行到,操作程序(新建)也没有发现使用多线程。

解决方法:通过委托,执行Application.Current.Shutdown(),关闭全部窗体后执行到了OnExit(),暂时解决问题,如果有更好的方式请指点。

代码:

//主程序委托函数  
视图类._exitApp += new DelegateExitApp(ExitApp);
//主程序执行函数        
public void ExitApp()
{
    Current.Shutdown();
}



//我关闭的视图后台代码添加无参委托
public delegate void DelegateExitApp();
public event DelegateExitApp _exitApp;
public void ExitApp()
{
    _exitApp() ;
}
//在关闭视图事件中执行ExitApp
private void Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
    ExitApp();
}

 

//主程序委托函数  
视图类._exitApp += new DelegateExitApp(ExitApp);
//主程序执行函数        
public void ExitApp()
{
    Current.Shutdown();
}

//我关闭的视图后台代码添加无参委托
public delegate void DelegateExitApp();
public event DelegateExitApp _exitApp;
public void ExitApp()
{
    _exitApp() ;
}
//在关闭视图事件中执行ExitApp
private void Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
    ExitApp();
}

        

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值