在我的C#
应用程序中,我有一个单独的窗口,其中包含一个在单独的线程中运行的进度条。它每30秒从服务器发送一次数据请求并相应地填充进度条。
问题是,当我关闭主程序时,带有进度条的第二个窗口保持打开状态。
如何编程第二个线程以检测第一个线程何时关闭,并相应地关闭它?
答案 0 :(得分:0)
您可以使用第一个窗口中的Window_Closed事件:
private void Window1_Closed(object sender, EventArgs e)
{
Window2.Close(); // Close your second window
}
然后在第二个窗口中:
private void Window2_Closed(object sender, EventArgs e)
{
// abort all Threads
thread.Abort();
}
答案 1 :(得分:0)
将工作线程变为后台线程。 http://msdn.microsoft.com/en-us/library/h339syd0.aspx
建议不要从父线程关闭子线程 很可能会阻止某些资源被正确释放。