我正在开发一些WPF程序并在'SyringeTricontinent.cs'类中创建一个名为'thCheckIdle'的线程,该线程在'MainWindow.xaml.cs'中生成。我希望在程序退出时杀死这个线程,所以我在Application类中添加了exit事件并在下面编写代码:
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的程序,MainWindow的状态也为null。
退出主程序时如何杀死该线程?
答案 0 :(得分:1)
您可以将其设为Background Thread
,这样当主线程完成后,它就不会停止您的应用退出。
说啊
创建时thCheckIdle.IsBackground = true;
。