for (int i = 0; i < 1000;i++ )
            {
                label1.Text = i.ToString();
            }如何让lable适时更新i的值,上面代码只能在i=999时才显示

解决方案 »

  1.   

    在Timer中定时修改label1.Text 值
    或使用多线程
    private Timer _timer= new Timer(); 
     _timer.Enabled = true; 
     _timer.Tick += new EventHandler(timer_Tick); 
     _timer.Interval = 10000; void timer_Tick(object sender, EventArgs e) 
            { 
                
            } 
      

  2.   

    推荐用线程,后台线程查询数据,在查询数据的地方写个值改变的委托,然后在前台写一个委托实现,实时更改Lable的Text就Ok了
    其实实现和进度条的实现差不多。
    如果用timer的话,性能不是很好,不过也是一种解决方案。
      

  3.   


                for (int i = 0; i  < 1000;i++ )
                 {                 label1.Text = i.ToString();
                    Application.DoEvents();   //加一句,就会即时显示出来了
                 }
      

  4.   

    我现在 适时更新都用的timer
      

  5.   

    你就少写了一句
        在这句 label1.Text = i.ToString(); 
    后面,用this.Refresh(); 或者Application.DoEvents();都可以。