private void button1_Click(object sender, EventArgs e)
        {
            label1.BackColor = Color.Red;
            Thread.Sleep(1000);
            label1.BackColor = Color.Lime;
        }
为什么没有先红后绿的效果,而是停顿后直接显绿
新建一个线程再调用以上代码即可实现.
请高手帮忙解释一下

解决方案 »

  1.   

    private void button1_Click(object sender, EventArgs e)
            {
                label1.BackColor = Color.Red;
                label1.Reflush();
                Thread.Sleep(1000);
                label1.BackColor = Color.Lime;
                label1.Reflush();
            } 
      

  2.   

    this.label1.BackColor = Color.White;
                this.label1.Refresh();
                System.Threading.Thread.Sleep(1000);
                this.label1.BackColor = Color.Black;
                this.label1.Refresh();
    方法名字错了,应为Refresh();