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.www.2cto.comprivate 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 5. using System.Runtime.InteropServices; public class Win32{ public const Int32 AW_HOR_POSITIVE = 0x00000001; // 从左到右打开窗口public const Int32 AW_HOR_NEGATIVE = 0x00000002; // 从右到左打开窗口public const Int32 AW_VER_POSITIVE = 0x00000004; // 从上到下打开窗口public const Int32 AW_VER_NEGATIVE = 0x00000008; // 从下到上打开窗口public const Int32 AW_CENTER = 0x00000010;public const Int32 AW_HIDE = 0x00010000; // 在窗体卸载时若想使用本函数就得加上此常量public const Int32 AW_ACTIVATE = 0x00020000; //在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量public const Int32 AW_SLIDE = 0x00040000;public const Int32 AW_BLEND = 0x00080000; // 淡入淡出效果[DllImport("user32.dll", CharSet = CharSet.Auto)]public static extern bool AnimateWindow(IntPtr hwnd, // handle to windowint dwTime, // duration of animationint dwFlags // animation type);} /*淡入窗体*/ private void Form_Load(object sender, EventArgs e){ Win32.AnimateWindow(this.Handle, 2000, Win32.AW_BLEND);} /*淡出窗体*/ private void Form_FormClosing(object sender, FormClosingEventArgs e){ Win32.AnimateWindow(this.Handle, 2000, Win32.AW_SLIDE | Win32.AW_HIDE | Win32.AW_BLEND);}摘自