2
我有一个线程可以打开一个MyMessageAlert类型的表单。 此表单是一个弹出窗口,当我打电话时它会打开。 它有一个计时器,在30秒后调用方法CloseWindow()。如何杀死C#中的线程?
m_messagAlert = new MyMessageAlert();
ParameterizedThreadStart thStart = new ParameterizedThreadStart(m_messagAlert.setMessage);
Thread thread = new Thread(thStart);
thread.Start(strMessage); //at this point, the MyMessageAlert form is opened.
我已经定义类型线程的列表:
public List<Thread> m_listThread;
每当我创建一个线程的时候,我把它添加到我的清单:
m_listThread.Add(thread);
当我关闭应用程序,我希望打开的MyMessageAlert类型的表单将立即关闭(不等待30秒)。 问题是,我不能让它停止!
我试图去在名单使用中止()函数的循环杀死它:
foreach (Thread thread in m_listThread)
{
if (thread.IsAlive)
thread.Abort();
}
但它并不能帮助。
嗨,它工作!我们刚刚添加了命令 thread.IsBackground = true; – 2011-01-24 11:49:42