[求助]C# 窗体关闭时产生透明渐变的问题
前几天无意中听同学说想要弄个窗体渐变的,后来自己上网搜索了一下,发现些方法,自己试了一下是成功的,但是还是有些问题,郁闷。。。以下列出几种我弄的方法:① 新键窗体,窗体里加个按钮,双击按钮进入事件编写代码:
while (this.Opacity > 0)
{
this.Opacity -= 0.02;
Thread.Sleep(20);
}
Application.Exit();
程序运行后点击该按钮关闭的时候整个窗体是先变成黑色,然后透明度再慢慢变小,变为0的时候程序再退出的,理论上来说我这个思路应该是正确的,可是我就不知道是怎么回事了?
②往窗体里加入Timer控件,Interval设置为20,控件事件编写代码:
if (this.Opacity > 0)
{
this.Opacity -= 0.02;
}
else {
Application.Exit();
}
然后在按钮的点击事件中写上 timer1.Start(); 就行了,经测试,这种方法是可以的,窗体是慢慢变透明而后又关闭的。。。
可是随后的问题又来了,我现在是想当我点击窗体右上角的关闭按钮时,窗体渐变关闭,我在窗体的FormClosing事件中输入timer1.Start();,测试,结果是当我点击窗体右上角的关闭按钮时,程序是直接退出了,并没有渐变消失,郁闷,搞不懂是怎么回事哦,而后上网找了好久,找到个解决方法,FormClosing事件中输入e.Cancel = true; timer1.Start(); 测试,结果,点击关闭后,窗体是能渐变消失了,可是当透明度到0了以后,并没有关闭,任务栏上的图标还在,任务管理器里也有相应的进程,郁闷了,倒底是怎么回事啊。
%&×……(……&×(%……&(
请大家帮帮忙,看看是怎么回事呢?
我把我做的源件上传上来啊,是用VS2005做的。。。