Application.Exit()退出应用程序但在资源管理器中还能看到

        应用程序退出时,使用Application.Exit()和Application.ExitThread()都不行,甚至加上GC.Collect()也不管用。在程序退出时仍然在任务管理器中还可以看到自己的进程在运行。

        后来发现是由于程序运行过程中开启了一个线程,后来将Thread.IsBackground 设置为 true(后台线程),此问题得到了解决。这是因为默认的线程是属于前台线程,前台线程会使托管执行环境处于活动状态,因此退出时,无法关闭前台线程,所以在任务管理器中还能看到。

        关于托管线程:前台线程会使托管执行环境处于活动状态,后台线程不会,这是前台线程和后台线程的唯一区别。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `Application.Current`是WPF应用程序的一个静态属性,它表示当前正在运行的应用程序的对象。通过访问该属性,开发人员可以访问应用程序的全局资源和设置,例如主窗口、应用程序资源字典和命令行参数。这可以帮助开发人员在应用程序内部的不同部分之间共享数据和信息。 ### 回答2: Application.Current是WPF应用程序的静态属性,它表示当前正在运行的应用程序实例。 在WPF应用程序Application.Current主要有以下几个作用: 1. 管理应用程序的生命周期:通过Application.Current,我们可以获取应用程序的当前状态、启动和关闭事件等。例如,可以通过订阅Application.Current.Startup和Application.Current.Exit事件,在应用程序启动和关闭时执行特定操作,比如进行资源的初始化和释放。 2. 提供共享的应用程序级资源:通过Application.Current.Resources属性,我们可以在整个应用程序共享资源,如样式、数据模板、转换器等。这些资源可以在应用程序的不同窗口或页面重复使用,提高了应用程序的效率和一致性。 3. 访问应用程序的设置和配置:通过Application.Current.Properties属性,我们可以访问应用程序的设置和配置,如命令行参数、配置文件等。这些设置和配置可以用于在应用程序运行时根据不同的环境进行动态设置,使应用程序更加灵活可配置。 4. 管理应用程序级的错误和异常:通过Application.Current.DispatcherUnhandledException事件,我们可以捕获应用程序级的未处理异常。这样,我们可以在应用程序发生严重错误时进行相应的处理和提示。 总之,Application.Current提供了对当前运行的WPF应用程序实例的访问和控制,可以管理应用程序的生命周期、共享资源、访问设置和配置,以及处理错误和异常。这使得我们能够更好地控制和管理WPF应用程序的行为和状态。 ### 回答3: Application.Current是一个静态属性,用于获取当前正在运行的应用程序Application对象。在WPF应用程序,每个应用程序都必须有一个Application类的实例,用于管理应用程序级的资源和行为。 Application.Current的作用有以下几个方面: 1. 访问应用程序级的资源:通过Application类,我们可以定义和访问应用程序级的资源,例如全局样式、数据模板、资源字典等。这样一来,所有在应用程序范围内的窗口、页面和控件都可以共享这些资源。 2. 处理应用程序级的事件:Application类提供了许多应用程序级的事件,例如Startup、Exit、DispatcherUnhandledException等。通过订阅这些事件,我们可以在应用程序启动、退出、或出现未处理的异常时执行特定的操作,以保证应用程序正常运行。 3. 访问应用程序级的属性:Application提供了一些应用程序级别的属性,例如MainWindow、ShutdownMode、Resources等。通过这些属性,我们可以设置应用程序的主窗口、应用程序的关闭模式,以及其他一些与应用程序相关的属性。 总之,Application.Current提供了一个全局的访问点,使我们可以方便地访问和控制当前正在运行的应用程序。通过它,我们可以管理应用程序级的资源和行为,以及处理应用程序级的事件和属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值