例如用双重循环控制着色变化:            for(int x=0;x<256;x++)
                for (int y = 0; y < 256; y++)
                {
                    textBox1.BackColor = Color.FromArgb(0, x, y);
                }
但是这样不能用时间控循环的速度.
于是改用timer控制,如何实现呢?
  private void BianSeTime_Tick(object sender, EventArgs e)
        {
            int x = 0, y = 255;
            textBox1.BackColor = Color.FromArgb(0, x++,y--);
     }
这只是一循环....

解决方案 »

  1.   


    int x = 0;
    int y = 0;
    private void BianSeTime_Tick(object sender, EventArgs e) 
    {
        textBox1.BackColor = Color.FromArgb(0, x, y); 
        y++;
        if(y == 256)
        {
            y = 0;
            x++;
        }
        if(x == 256)
        {
            x = 0;
            y = 0;
        }
    }
      

  2.   

    循环过程中Sleep一下不就可以控制循环速度了吗?   for(int x=0;x <256;x++) 
    {
                    for (int y = 0; y < 256; y++) 
                    { 
                        textBox1.BackColor = Color.FromArgb(0, x, y); 
                        System.Threading.Thread.Sleep(5000); //停半秒,时间根据你而定
                    } 
       System.Threading.Thread.Sleep(1000); //停1秒,时间根据你而定
    }
      

  3.   

    循环过程中Sleep一下不就可以控制循环速度了吗?   for(int x=0;x <256;x++) 
    {
                    for (int y = 0; y < 256; y++) 
                    { 
                        textBox1.BackColor = Color.FromArgb(0, x, y); 
                        System.Threading.Thread.Sleep(5000); //停半秒,时间根据你而定
                    } 
       System.Threading.Thread.Sleep(1000); //停1秒,时间根据你而定
    }
      

  4.   

    循环过程中Sleep一下不就可以控制循环速度了吗?   for(int x=0;x <256;x++) 

                    for (int y = 0; y < 256; y++) 
                    { 
                        textBox1.BackColor = Color.FromArgb(0, x, y); 
                        System.Threading.Thread.Sleep(500); //停半秒,时间根据你而定 
                    } 
      System.Threading.Thread.Sleep(1000); //停1秒,时间根据你而定 
    }