C#制作窗体透明渐变的方法

①    新建一窗体,拉一Timer控件,Interval值设置为20,双击Timer控件进入事件编写:
        private void timer1_Tick(object sender, EventArgs e)
        {
            // 计时器事件
            if (this.Opacity > 0)
            {
                this.Opacity -= 0.02;
            }
            else {
                this.timer1.Enabled = false;
                Application.Exit();                
            }
        }

 
②    往窗体里加入一按钮,命名为btnExit,双击按钮进入事件编写:
        private void btnExit_Click(object sender, EventArgs e)
                 
            timer1.Start();
        }

 

然后测试窗体,这样当点击btnExit按钮后窗体慢慢变透明并最终关闭,透明的速度由Interval值决定,可是当我们点击窗体右上角的关闭按钮时,窗体是直接关闭的,并没有经过透明渐变,下面我们就来编写代码让我们点击窗体右上角的关闭按钮时,窗体也透明渐变关闭,在窗体的FormClosing事件中编写代码:
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true;
            if (this.Opacity > 0)
            {
                timer1.Start();
            }
            else
            {
                e.Cancel = false;
            }
        }

posted @ 2009-08-18 14:59  oraclejava  阅读(608)  评论(0)    收藏  举报