使用C#實現Form窗體的淡入淡出效果

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 window   
            int dwTime, // duration of animation   
            int 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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章