代码如下,具体思路注意看注释吧。
1,
private void Form1_Load(object sender, System.EventArgs e)
for(double d=0.01; d< 1; d+=0.02)
{
System.Threading.Thread.Sleep(1);
Application.DoEvents();
this.Opacity=d;
this.Refresh();
}
private void timer1_Tick(object sender, System.EventArgs e)
{
this.Opacity = WinShow ;
WinShow += 0.1 ;
if(WinShow >=1 )
{
timer1.Dispose ();
}
}
2,用循环或计时器,
3,
#region ** 窗体淡入效果函数 **
private double WinShow = 0;//用于窗口淡入效果的变量
private void FormShow(System.Windows.Forms.Form Curfrm)
{
Curfrm.Opacity = WinShow ;
WinShow += 0.01;
if(WinShow == 1)
{
Curfrm.timerShow.Stop ();
}
}
#endregion
#region ** 窗体淡入效果函数调用示例 **
//窗口的淡入效果
private void timerShow_Tick(object sender, System.EventArgs e)
{
//timerShow,这是一个timer控件名称;把timerShow.interval=100就可以了。
FormShow(this);
}
#endregion
有兴趣的朋友,动手测试下上面的c#实现窗口淡入淡出的代码吧,看看具体的效果呢?