c# WInform 視窗啟動特效,使用win32 api
一段使用api的視窗特效代碼.自己可以試下,是不是在視窗顯示的時候會顯示各種特殊效果.有點驚喜的感覺
[System.Runtime.InteropServices.DllImport("user32")] private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags); private const int AW_HOR_POSITIVE = 0x0001;// 從左向右顯示 private const int AW_HOR_NEGATIVE = 0x0002;// 從右向左顯示 private const int AW_VER_POSITIVE = 0x0004;// 從上到下顯示 private const int AW_VER_NEGATIVE = 0x0008;// 從下到上顯示 private const int AW_CENTER = 0x0010;// 從中間向四周 private const int AW_HIDE = 0x10000; private const int AW_ACTIVATE = 0x20000;// 普通顯示 private const int AW_SLIDE = 0x40000; private const int AW_BLEND = 0x80000;// 透明漸變顯示 private void Form1_Load(object sender, System.EventArgs e) { int animatetype = 10; Random a = new Random(); int dwFlags = (int)a.Next(animatetype); switch (dwFlags) { case 0:// 普通顯示 AnimateWindow(Handle, 1000, AW_ACTIVATE); break; case 1:// 從左向右顯示 AnimateWindow(Handle, 1000, AW_HOR_POSITIVE); break; case 2:// 從右向左顯示 AnimateWindow(Handle, 1000, AW_HOR_NEGATIVE); break; case 3:// 從上到下顯示 AnimateWindow(Handle, 1000, AW_VER_POSITIVE); break; case 4:// 從下到上顯示 AnimateWindow(Handle, 1000, AW_VER_NEGATIVE); break; case 5:// 透明漸變顯示 AnimateWindow(Handle, 1000, AW_BLEND); break; case 6:// 從中間向四周 AnimateWindow(Handle, 1000, AW_CENTER); break; case 7:// 左上角伸展 AnimateWindow(Handle, 1000, AW_SLIDE | AW_HOR_POSITIVE | AW_VER_POSITIVE); break; case 8:// 左下角伸展 AnimateWindow(Handle, 1000, AW_SLIDE | AW_HOR_POSITIVE | AW_VER_NEGATIVE); break; case 9:// 右上角伸展 AnimateWindow(Handle, 1000, AW_SLIDE | AW_HOR_NEGATIVE | AW_VER_POSITIVE); break; case 10:// 右下角伸展 AnimateWindow(Handle, 1000, AW_SLIDE | AW_HOR_NEGATIVE | AW_VER_NEGATIVE); break; } } private void Form1_FormClosing(object sender, System.ComponentModel.CancelEventArgs e) { AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_HIDE | AW_VER_NEGATIVE); }