首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 窗體動畫顯示(二):AnimateWindow 參數組合效果全解析

     編輯:關於C語言

動畫標誌常量定義


const int AW_HOR_POSITIVE = 0x00000001; // 左→右
const int AW_HOR_NEGATIVE = 0x00000002; // 右→左
const int AW_VER_POSITIVE = 0x00000004; // 上→下
const int AW_VER_NEGATIVE = 0x00000008; // 下→上
const int AW_CENTER       = 0x00000010; // 中心展開/收縮
const int AW_HIDE         = 0x00010000; // 隱藏窗口(關閉動畫必須)
const int AW_ACTIVATE     = 0x00020000; // 激活窗口(打開動畫建議)
const int AW_SLIDE        = 0x00040000; // 滑動效果(默認)
const int AW_BLEND        = 0x00080000; // 淡入淡出效果

參數詳細說明

打開窗體動畫代碼


// 在構造函數或 Load 事件中
AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_CENTER); // 1秒從中心展開

關閉窗體動畫代碼


private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
    AnimateWindow(this.Handle, 500, AW_SLIDE | AW_VER_POSITIVE | AW_HIDE); // 0.5秒向下收縮隱藏
}

組合邏輯解析

  • 打開:AW_SLIDE | AW_CENTER → 從中心點向四周滑動展開。
  • 關閉:AW_SLIDE | AW_VER_POSITIVE | AW_HIDE → 向下滑動並隱藏(模擬最小化到任務欄)。
  • 若需淡入:AW_BLEND | AW_ACTIVATE(打開)、AW_BLEND | AW_HIDE(關閉)。

常見誤區

  1. 忘記 AW_HIDE 導致關閉無動畫。
  2. AW_BLEND 與 AW_SLIDE 同時指定 → 行為未定義。
  3. 在 FormClosing 中調用動畫可能因窗體已開始銷毀而失效,推薦 FormClosed。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
標誌含義備註
AW_SLIDE使用滑動動畫默認類型;配合 AW_CENTER 時被忽略
AW_ACTIVATE激活窗口帶 AW_HIDE 時不可用
AW_BLEND淡入淡出不支持標題欄動畫;與 AW_SLIDE 互斥
AW_HIDE隱藏窗口關閉動畫必須指定
AW_CENTER中心展開/收縮配合 AW_HIDE:向內收縮;單獨使用:向外展開
AW_HOR_POSITIVE水平向右
AW_HOR_NEGATIVE水平向左
AW_VER_POSITIVE垂直向下
AW_VER_NEGATIVE垂直向上