C#实现窗体淡入淡出效果的方法总结

 更新时间:2020年6月25日 11:41  点击:2431

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();  
  }

2.
复制代码 代码如下:

  private   void   timer1_Tick(object   sender,   System.EventArgs   e)  
  {  
  this.Opacity   =   WinShow   ;  
  WinShow   +=   0.1   ;  
  if(WinShow   >=1   )  
  {  
  timer1.Dispose   ();  
  }  
  }

3.用循环或计时器,  

复制代码 代码如下:

  frmForm   myForm=new   frmForm()  
  frmForm.Opacity=0;  
  frmForm.show();  
  for(int   i=0;i<100;i++)  
  {  
  Application.DoEvents()  
  frmForm.Opacity=i/100;  
  }


4.
复制代码 代码如下:

  #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

[!--infotagslink--]

相关文章