实现的功能:有“开始”和“停止”两个按钮,点“开始”,立即执行事件;点“停止”则立即停止。
private void timer3_Tick(object sender, EventArgs e)
{
Thread threadMonitor = (new Thread(new ThreadStart(Monitor)));
threadMonitor.Start();
}
public void Monitor()
{
string mystring = "hello!";
for (int i = 0; i < mystring.Length; i )
{
MessageBox.Show(mystring[i].ToString());
}
}
private void 开始_Click(object sender, EventArgs e) //点击可立即开始
{
timer3_Tick(null,null);
timer3.enabled=true;
}
private void 结束_Click(object sender, EventArgs e) //本次事件完成后才结束
{
timer3.enabled=false;
}
点“结束”按钮如何立即结束?只是举个例子。
关键是如何结束很多个之前启动并且没有跑完的线程
代码该如何修改呢?求帮助,小弟这厢有礼了
在线程Monitor函数中判断 timer3.enabled的值,如果已经准备结束,线程完成就行了
这个简单,在每次的Timer_Tick()事件中
1 Timer.Stop();
2 执行你要完成的步骤
3 Timer.Start();
这样就不会当前的 2 步骤没有完成,又开始了新的Timer_Tick方法了,这个是Timer的标准用法了