通過調用API可以實作C#窗體的動畫效果,主要調用user32.dll的行數AnimateWindow
1、函數申明
[System.Runtime.InteropServices.DllImport("user32")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
hwnd 界面上控件的句柄
dwTime 窗體特效執行的持續時間(機關毫秒)
dwFlags 窗體特效的值
2、dwFlags要傳的參數是一些INT類型的常量
const int AW_HOR_POSITIVE = 0x0001; //正面_水準方向
const int AW_HOR_NEGATIVE = 0x0002;//負面_水準方向
const int AW_VER_POSITIVE = 0x0004; //正面_垂直方向
const int AW_VER_NEGATIVE = 0x0008;//負面_垂直方向
const int AW_CENTER = 0x0010;//由中間四周展開或由四周向中間縮小
const int AW_HIDE = 0x10000; //隐藏對象
const int AW_ACTIVATE = 0x20000;//顯示對象
const int AW_SLIDE = 0x40000;//拉幕滑動效果
const int AW_BLEND = 0x80000;//淡入淡出漸變效果
3、調用,隻要在窗體的Load事件裡添加代碼即可,比如:
AnimateWindow(this.Handle, 200, AW_BLEND );//即可實作淡入淡出漸變效果