WPF中应用程序退出时如何杀死特定对象中的线程?
How to kill the thread in specific object when application exit in WPF?
我正在开发一些 WPF 程序并在 'SyringeTricontinent.cs' class 中创建一个名为 'thCheckIdle' 的线程,该线程在 'MainWindow.xaml.cs' 中生成。我想在程序退出时终止该线程,所以我在应用程序 class 中添加了退出事件,并在下面编写了代码:
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();
}
}
但是弹出 "An unhandled exception of type 'System.NullReferenceException' occurred in WHALE.exe" 消息不起作用,我发现 MainWindow 的状态为空,即使程序执行显示 MainWindow。
如何在退出主程序时杀死该线程?
您可以将其设置为 Background Thread
,这样它就不会在主线程完成时阻止您的应用程序退出。
说啊
thCheckIdle.IsBackground = true;
创建时。
我正在开发一些 WPF 程序并在 'SyringeTricontinent.cs' class 中创建一个名为 'thCheckIdle' 的线程,该线程在 'MainWindow.xaml.cs' 中生成。我想在程序退出时终止该线程,所以我在应用程序 class 中添加了退出事件,并在下面编写了代码:
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();
}
}
但是弹出 "An unhandled exception of type 'System.NullReferenceException' occurred in WHALE.exe" 消息不起作用,我发现 MainWindow 的状态为空,即使程序执行显示 MainWindow。
如何在退出主程序时杀死该线程?
您可以将其设置为 Background Thread
,这样它就不会在主线程完成时阻止您的应用程序退出。
说啊
thCheckIdle.IsBackground = true;
创建时。