111,120
社区成员
发帖
与我相关
我的任务
分享

[/quote]
如果打印出错就把 textBox1.AppendText("暂停中 :\r\n");放进 if (on_off)条件里
其他的问题你自己解决[/quote]
小白提个问题啦 怎么停止了一次就无法再次开启了,只能关闭掉窗体再开启才行[/quote]
button1_Click事件中,把stop变量重置为false
[/quote]
如果打印出错就把 textBox1.AppendText("暂停中 :\r\n");放进 if (on_off)条件里
其他的问题你自己解决[/quote]
小白提个问题啦 怎么停止了一次就无法再次开启了,只能关闭掉窗体再开启才行[/quote]
尽量别在这个线程里使用。把UI改动托管到UI线程中。
[/quote]
如果打印出错就把 textBox1.AppendText("暂停中 :\r\n");放进 if (on_off)条件里
其他的问题你自己解决[/quote]
小白提个问题啦 怎么停止了一次就无法再次开启了,只能关闭掉窗体再开启才行
[/quote]
如果打印出错就把 textBox1.AppendText("暂停中 :\r\n");放进 if (on_off)条件里
其他的问题你自己解决

namespace Test
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
Label.CheckForIllegalCrossThreadCalls = false;
}
Thread thread;
ManualResetEvent ma;
bool on_off = false;
bool stop = false;
private void button1_Click(object sender, EventArgs e)
{
thread = new Thread(Runtime);
thread.Start();
}
void Runtime()
{
for (int i = 1; i <= 100; i++)
{
if (stop)
return;
if (on_off)
{
ma = new ManualResetEvent(false);
ma.WaitOne();
}
textBox1.AppendText("计时 :" + i + "\r\n");
Thread.Sleep(100);
}
}
private void button2_Click(object sender, EventArgs e)
{
on_off = true;
textBox1.AppendText("暂停中 :\r\n");
}
private void button3_Click(object sender, EventArgs e)
{
on_off = false;
ma.Set();
textBox1.AppendText("继续计时 :\r\n");
}
private void button4_Click(object sender, EventArgs e)
{
stop = true;
textBox1.AppendText("停止计时 \r\n");
}
}
}