当前位置:编程学习 > C#/ASP.NET >>

一个简单的退出for循环问题

   
   public bool i易做图it=false;

    public void aa()
    {
        int j = 0;

        for (int i = 1; i < 10; i++)
        {
            if (i易做图it)
            {
                j = j + i;
            }
            else
            {
                break;
            }
        }
    }

    protected void start_Click(object sender, EventArgs e)
    {
        i易做图it = true;
        aa();
    }


   protected void stop_Click(object sender, EventArgs e)
    {
        i易做图it = false;//我想在这地方退出循环..得怎么写.谢谢...我这个是循环之后才改变i易做图it = false
    } --------------------编程问答-------------------- 自己先顶~~ --------------------编程问答-------------------- 当用户点击 start 开始循环, 当循环还在进行时,用户点击stop就中止循环.
你期望的是这样,对不? --------------------编程问答-------------------- 对对对..就这个意思 --------------------编程问答-------------------- 没分了..回答后给分~~ --------------------编程问答-------------------- 普通回发是不可能这样做的,因为回发时,服务端要处理完才回发到客户端,都已经处理完了,你也没有什么中止可言了,是吧. --------------------编程问答-------------------- 那这问题得怎么弄啊..挺郁闷的.. --------------------编程问答-------------------- 因为你 i 太小了,没等你按停止程序已经结束了
如果想看到效果的话应该用一个线程来控制它的速度 --------------------编程问答-------------------- 将循环和停止放在一个线程里面是没法停止的。一旦循环起来,根本不会给你单击停止按钮的机会。

应该把循环放在BackgroundWorker的DoWork部分,然后循环内不断检查是不是被CancelPending了。

开始按钮启动BackgroundWorker,而停止按钮取消BackgroundWorker。

这个是最简单的实现,比自己写线程简单多了。 --------------------编程问答-------------------- 线程, --------------------编程问答-------------------- 用线程吧。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,