如何从子线程关闭主线程

本文关键字:线程 | 更新日期: 2023-09-27 18:03:38

我正在做VSTO。我有一个很长时间的过程,所以我需要实现一个停止按钮来停止这个过程。这样我就可以创建一个带有停止按钮的UI表单,并在调用主进程时在子线程中显示该UI表单。现在我正试图从UI停止按钮停止主进程,但我尝试关闭所有进程和文档本身,但我只需要停止该进程我已经尝试了这些关闭过程,但它不能正常工作

Enviorment.Exit(1);
process.Kill();
process.Close();
Close();

如何从子线程关闭主线程

我不知道为什么你叫一个线程"进程",但问题是关于一个子线程,所以我会回答它的线程。

如果你想结束你的线程,让它定期测试一个公共bool,在你的对话框类中定义为"public volatile bool stopRequested = false;"如果bool设置为true,只需使用"return"关键字来停止线程。

要从对话框中中止线程,只需在btn_Click事件中输入:"this。stopRequested = true;"

线程现在将意识到用户希望它停止,它将跳转到"return"行。线程关闭!div ' o/