淡入淡出效果很简单,给个例子先:
private void Form1_Load(object sender, EventArgs e)
{
for (int c = 0; c != 10; c++)
{
this.Opacity += 0.1;
//睡眠一会
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
for (int c = 10; c != 0; c--)
{
this.Opacity -= 0.1;
//睡眠一会
}
}
退出的时候是这样的效果,但是显示没有这个效果,无意中试了一下在Load事件开头加上this.Show();
现在运行、退出都是淡入淡出了。
本篇没有写什么内容,主要是解决不渐现的bug。
但是Applcation.Run()默认应该就是调用Show()为什么还要再调用一次才有效果?
方式二:
新开一个线程用作等待线程,例如:
在form9_shown里面新建一个thread,thread.start();执行如下内容:
函数f1()只有一句话 this.opacity += 0.01;
函数func是委托里的函数,循环100次----(每次等待5-10ms,执行f1() )
这样可以避免渐现窗体会挂起窗体的问题,挂起时,鼠标表示很忙...
方式三:win api AnimateWinodw()