У меня есть нить, которая открывает форму типа MyMessageAlert. Эта форма представляет собой всплывающее окно, которое открывается, когда я его вызываю. У этого есть таймер, который вызывает метод CloseWindow() через 30 секунд.Как убить нить в 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 секунд). Проблема в том, что я не могу остановить!
Я пытался убить его, перейдя по списку с петлей, используя функцию Abort():
foreach (Thread thread in m_listThread)
{
if (thread.IsAlive)
thread.Abort();
}
Но это не помогает.
Привет, он работает! мы просто добавили команду thread.IsBackground = true; –