WinForm让窗体背景呈现迷幻色彩
方法一:
可以使用Application.DoEvents();方法,做出具有渐变的动态效果的窗体颜色变化:
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < 253; i++)
{
this.BackColor = Color.FromArgb(i,255-i,i);
Application.DoEvents();
}
}
所以,这样可以确保处在循环中的窗体也能保持响应。
如果去掉,循环结束前窗体不会自行重绘,就不能有渐变的动态效果。
当然,你可能觉得颜色变换太快了,无妨,在Application.DoEvents();代码后加下面这一行代码试试:
System.Threading.Thread.Sleep(5);
如果,你想要让他持续运行,可以用
while (Visible)
{
}
接下来给出完整的程序代码:
ALL CODE
private void button2_Click(object sender, EventArgs e)
{
while (Visible)
{
for (int i = 0; i < 253 && Visible; i++)
{
this.BackColor = Color.FromArgb(i, 255 - i, i);
Application.DoEvents();
System.Threading.Thread.Sleep(5);
}
for (int i = 254; i >= 0 && Visible; i--)
{
this.BackColor = Color.FromArgb(i, 255 - i, i);
Application.DoEvents();
System.Threading.Thread.Sleep(5);
}
}
}

浙公网安备 33010602011771号