当应用程序在 WPF 中退出时,如何终止特定对象中的线程



我正在开发一些WPF程序,并在"SyringeTricontinent.cs"类中创建了一个名为"thCheckIdle"的线程,该线程在"MainWindow.xaml.cs"中生成。我想在程序退出时杀死这个线程,所以我在应用程序类中添加了退出事件并在下面制作了代码:

    private void Application_Exit(object sender, ExitEventArgs e)
    {
        if(((MainWindow)System.Windows.Application.Current.MainWindow).syringe.thCheckIdle!= null)
        {
            ((MainWindow)System.Windows.Application.Current.MainWindow).syringe.thCheckIdle.Abort();
        }    
    }

但是弹出"WHALE.exe中发生了类型为'System.NullReferenceException'的未处理异常"消息不起作用,我发现即使执行显示主窗口的程序,MainWindow的状态也为空。

退出主程序时如何终止该线程?

你可以将其设为Background Thread,这样它就不会在主线程完成时阻止你的应用退出。就说 thCheckIdle.IsBackground = true;创建它时。

https://learn.microsoft.com/en-us/dotnet/api/system.threading.thread.isbackground?view=netframework-4.7.1

相关内容

  • 没有找到相关文章

最新更新