1

在我的C#应用程序中,我有一个单独的窗口,其中包含一个在单独线程中运行的进度条。它每 30 秒从服务器发送一个数据请求,并相应地填充进度条。

问题是,当我关闭主程序时,带有进度条的第二个窗口保持打开状态。

如何对第二个线程进行编程以检测第一个线程何时关闭,并相应地关闭自己?

4

2 回答 2

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();
}
于 2013-04-05T15:46:20.067 回答
0

使工作线程成为后台线程。 http://msdn.microsoft.com/en-us/library/h339syd0.aspx

不建议从其父线程关闭子线程,因为这很可能会阻止某些资源被正确释放。

于 2013-04-05T15:52:54.987 回答