這程式摘自《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 }