这程序摘自《Head First in C#》一书,由东南大学出版社影印。
此程序的关键点的很多
1.Application.DoEvents() //用于看到程序的渐变过程
2.while(Visible) //为了使程序在未关闭前,背景色一直渐变
3.System.Threading.Thread.Sleep(10) //程序在10秒后挂起
具体程序代码如下 此窗体只有一个Button控件,使用Button的Click()事件来触发函数的执行代码如下和解释都在下面的源代码中,只copy出Click()事件中的代码:
Button_Click()
1 private void button1_Click(object sender, EventArgs e) 2 { 3 while (Visible) 4 {/*while(Visible)为了使程序在在没有关闭前颜色一直渐变,当关闭的时候突出循环*/ 5 6 /*for语句中的c<254&&Visible是为了判断当程序关闭的时候退出循环,不然会产生延时推出程序,因为当关闭的程序的时候, 7 while(Visible)还为检测到,for语句仍在执行,直到两个for循环结束才会返回edit界面*/ 8 for (int c = 0; c < 254&&Visible ; c++) 9 { 10 this.BackColor = Color.FromArgb(c, 255 - c, c); 11 Application.DoEvents(); //如果没有此句,程序无法正常执行,点击(X)时没有反应 12 //此线程在10s后挂起 13 System.Threading.Thread.Sleep(10);//使北背景颜色变得更慢些,便于观察,整个渐变过程次序10秒钟 14 15 } 16 for (int c = 254&&Visible ; c >= 0; c--) //返回初始的颜色 17 { 18 this.BackColor = Color.FromArgb(c, 255 - c, c); 19 Application.DoEvents(); 20 System.Threading.Thread.Sleep(10); 21 } 22 } 23 }
|
请发表评论