1,创建一个窗体。
2,让床体背景呈现迷幻色彩:
for(int c=0;c<254;c++)
{
this.BackColor = Color.FormArgb(c,255-c,c);
Application.DoEvents();//这一行代码穑告诉程序停止循环,而去做所需的其他工作,比如刷新窗体,检查鼠标单击等。确保即使再循环中窗体也有反映。
System.Threading.Thread.Sleep(3);//这句再循环中插入一个三毫秒的延迟,属于.net库,位于System。Threading命名空间。
}
3,如果想让代码快平滑一些在下面再加一个循环,使变量c从254递减到0,循环里使用同样的代码快。
4, 持续运行:将这两个循环包围在另一个循环中While(true)这个循环将持续运行,不会停止,所以按下按钮后,背景开始改变颜色并且一直持续。(当一个循环放在另一个循环中时,我们称之为:”被套“循环)。
5,让它停下来。关闭程序时,把外循环修改为While(Visible),现在运行程序,并单击右上角的X框。窗口会关闭,然后程序也停止了!只不过IDE回到编辑模式之前有几秒钟的延迟。
Visible:处理一个床体或者控件时,只要窗体控件还在显示,Visible久违true,如果将Visible设置为false,将是床体或者空间消失。
在一个if语句或循环中检查类似Visible的布尔值是,有时会检查(Visible==true),可以去掉”==true“,只包含这个布尔值就足够了。
public pritial class Form1:Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender,EventArgs e)
{
while(Visible)
{
for(int c = 0; c<254; c++)
{
this.BackColor = Color.FromArgb(c,255-c,c);
Application.DoEvents();
System.Threading.Thread.Sleep(3);
}
for(int c = 254; c>=0; c--)
{
this.BackColor = Color.FromArgb(c,255-c,c);
Application.DoEvents();
System.Threading.Thread.Sleep(3);
}
}
}
}
运行效果: