能否控制一段程序运行与停止?

yzwt2004 2009-05-10 09:02:43
比如:
for(i=0;i<1000;i++)
{
//执行代码每次估计10秒钟
.......
}


如果运行了约30秒,我点“停止”,那么它就这里的不就可能运行到3的样子,我想能记录此时的i的值,然后,我再点“继续运行”那么i就从3开始运行,这样可以吗??

我想,只能停止这代码运行,记录下i的值的就好了
......


...全文
119 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
PandaIT 2009-05-10
  • 打赏
  • 举报
回复
可能是不推荐使用

yzwt2004 2009-05-10
  • 打赏
  • 举报
回复
自己刚才搞定了,哈哈,查了近1小时资料,

跟11楼一样的,不过还是3QU了;

不过有点挺怪的,我在生成项目时,VS2005,有时有提示,说Suspend()己过时,但不报错,能通过编译。有时有,有时没,这是为什么??
duping9626 2009-05-10
  • 打赏
  • 举报
回复
可以用线程来控制

using System.Threading;

System.Threading.Thread _t;
private void btnStart_Click(object sender, EventArgs e)
{
_t = new Thread(new ThreadStart(run));
_t.Start();
}

private void run()
{
for (int i = 0; i < 1000000; i++)
{
Console.WriteLine(i);
}
}

//暂停
private void btnSuspend_Click(object sender, EventArgs e)
{
_t.Suspend();
}

//继续
private void btnResume_Click(object sender, EventArgs e)
{
_t.Resume();
}
热学沸腾56 2009-05-10
  • 打赏
  • 举报
回复
sleep
guxiaobei 2009-05-10
  • 打赏
  • 举报
回复
牛逼啊~~~~
wjp_auhtm 2009-05-10
  • 打赏
  • 举报
回复
1、新建一个线程,把for循环的代码放在新建的线程中运行。
2、将lz代码中for循环使用的i值定义为public级别的公有变量。
3、点击"停止"按钮时,sleep运行for循环代码的那个线程,然后读取i的值,终止这个线程。
yzwt2004 2009-05-10
  • 打赏
  • 举报
回复
不行的吧

可能是我没说明白,我的意思是当我点“停止”按钮时,我想要停止语句的运行;

你们说的,我试了,我点“开始”,运行这个for语句的代码,点“停止”时,for语句代码还是从int i=0,运行到999,根本没法停止下来,我需要的是,for语句不再运行下去,我的意思是
我点"停止"按钮时,for这块代码就停止运行 ,然当for停止运行,我需要执行另一段代码;
所以呢,每次当我点“停止”时,有可能此时的i的值都不同的。我需要根据i的不同来执行相应的代码的;


for(i=0;i<1000;i++)
{
//执行代码
......
......

//当我点“停止”按钮时,这里的代码就需要停止下来,所以这时的i可能=1,2...有可能等于任何值的,现在是没法停下来汗...
}

wyj642539749 2009-05-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wuyq11 的回复:]
public int j=o;
记录j值,i从j开始
for(i=j;i <1000;i++)
{

}
[/Quote]

这个行
wuyq11 2009-05-10
  • 打赏
  • 举报
回复
public int j=o;
记录j值,i从j开始
for(i=j;i<1000;i++)
{

}
daihua_1113 2009-05-10
  • 打赏
  • 举报
回复
可以
用线程就可以了
Thread.Sleep(100);
这个非常好
yangqidong 2009-05-10
  • 打赏
  • 举报
回复
bool start; //点击开始start设为true,点停止设为false

for(i=0;i<1000;i++)
{
if(start)
{
//执行代码每次估计10秒钟
}
else
{
Thread.Sleep(100);
i--;
}
}
wlzx21 2009-05-10
  • 打赏
  • 举报
回复
定义公共属性,在点停止时,将相应变量的值存入公共属性中,在继续运行时,从公共属性
中取出值接着处理
cnzdgs 2009-05-10
  • 打赏
  • 举报
回复
类中定义一个标志变量,通过按钮事件改变标志状态,在循环中判断该标志,如果是“停止”就Sleep一下,然后再循环判断标志,直到“继续”为止。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧