C#实现窗体淡入淡出效果的几种方法

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

posted @ 2010-07-12 10:11  Kevin.Cheung  阅读(1008)  评论(0编辑  收藏  举报