私は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を追加しました。 –