C#制作窗体透明渐变的方法
*/ 出自: 编程中国 http://www.bc-cn.net
*/ 作者: 牛腩 E-mail:niunan.snid@gmail.com QQ:164423073
*/ 时间: 2007-11-12 编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ ————————————————————————————–
看来http://bbs.bc-cn.ne这个编程论坛不错哦,呵呵,我那个C#渐变窗体的问题,在好几个论坛里发贴问了,别人都回答得不太清楚的,呵呵,刚刚在这论坛有个shen521941的论坛网友帮我解决好了,嘿嘿,在此表示感谢。。。下面是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();
}
}
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;
}
}
这样,整个渐变功能我们已经实现,至于启动时也想要窗体渐变出现,只需要再加个Timer控件编写相反的事件就行。