int i;
            for (i = 0; i < 1000; i++)
            {                label1.Text = i.ToString();
                
                
            }
以上语句.我想实现label1.text这个像电子表一样1变成2  2变成3那种样子,可是运行以上语句后老显示最后一个数999,我把1000改多大都是只显示最后一个.郁闷的.

解决方案 »

  1.   

    要用Timer ,每段时间显示一个数字.
      

  2.   

    我想实现类型时间的那个功能,就是想知道目前循环到哪里了.所以不能用Timer.
      

  3.   

    在窗体里定义一个变量 int i;
    放一个Timer控件,
    设置interal为1000(1秒)在Timer()事件里写上
    Label1.text=(string)i++;
      

  4.   

    Timer 事件本身相当于一个循环,这个事件每阁设定时间执行一次.
      

  5.   

    那你可以用进度条,动态显示进度,这不更好?   
    ychmj() ( ) 信誉:100    Blog  2007-02-07 14:34:00  得分: 0  
     
     
       我想实现类型时间的那个功能,就是想知道目前循环到哪里了.所以不能用Timer.
      
     
      

  6.   

    int nIndex = 0;
    Thread thread = new Thread(new StartThread(Run));private void Run()
    {
       label1.Text = nIndex.ToString();
         nIndex++;
    }
      

  7.   

    进度条我试了,可以,但是我的代码错在哪里.我没有感觉到代码有错误呀,为什么不显示.我以前是用PB的.在PB里面就没有问题.可是在C#里面就不显示.
      

  8.   

    中间加一个运算的过程。
    int n = 0;
    for(int i = 0; i < 10000000; i ++)
    {
        n ++;
        lbl.Text = n.ToString();
    }
    如果不行,则换成字符串的累加,字符串的开销大,则会看到显示过程!
      

  9.   

    晕,怎么还用for 循环啊,
    利用for循环,for 循环未完成,你的窗体是不会显示结果的.
    利用线程或者Timer ,别太固执非要用for 循环.
      

  10.   

    意思是如果用FOR,LABLE是不会显示结果.
    除非循环完成.那么我又怎么知道循环到哪里了.用滚动条的话只是大概,不知道详细的数字.想实现这个功能也就是说没有办法?
    如果用Timer是不可能实现这个功能,Timer只是按时间走,而我现在想知道我这个循环到什么位置了.我目前不是想实现这个功能用FOR.而是我用了FOR现在想知道循环到什么位置了.
    为了感谢大家我加10分了.因为是小问题.
      

  11.   

    for (int i = 0; i < 1000000; i++)
    {
          Response.Write("循环到" + i + "了<br>");
    }
      

  12.   

    在label1.Text = i.ToString();
     label1.Refresh();
      

  13.   

    在label1.Text = i.ToString();
     label1.Refresh();
    搞定.就是这句 label1.Refresh();