例如用双重循环控制着色变化: 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--);
}
这只是一循环....
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--);
}
这只是一循环....
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;
}
}
{
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秒,时间根据你而定
}
{
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秒,时间根据你而定
}
{
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秒,时间根据你而定
}