一个小C#窗体程序

这程序摘自《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 }

 

 

 

posted @ 2010-04-02 15:15  心的开始  阅读(566)  评论(0编辑  收藏  举报