for(int i=0;i<100000;i++)
{
    this.label1.Text=i.ToString ();
    this.label1.Update();
}
上面的代码,如果正在执行时这个窗口被其它窗口覆盖,然后再显示这个窗口,
label1的值是不变的,怎么样才能让它变化?

解决方案 »

  1.   

    起一线程:
    void test()
    {
    for(int i=0;i<100000;i++)
    {
    this.label1.Text=i.ToString ();
    this.label1.Update();
    }
    }
    Thread t = new Thread(new ThreadStart(test));
    t.Start();
      

  2.   

    private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
    {
    System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(AddNumber));
    thread.Start();

    } private void AddNumber()
    {
    for(int i=0;i<100000;i++)
    {
    this.label1.Text=i.ToString ();
    //System.Threading.Thread.Sleep(109);
    this.label1.Update(); }

    }