程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#中如何制作以動畫的形式顯示窗體(1)

C#中如何制作以動畫的形式顯示窗體(1)

編輯:關於C語言

一般的, 當我們啟動一個應用程序後, 普通的應用程序窗口都是瞬間顯示到屏幕上. 您是 否想象過這樣一種情景 : 打開一個應用程序後, 窗口的顯示跟幻燈片一樣變幻莫測,豐富多 彩? 也許不能登大雅之堂, 但至少可以娛樂自己.

好了, 進入正題: 您現在可以想 象這樣一幅畫面: 當您啟動一個應用程序後, 顯示器中央出現一個小點, 然後慢慢變大, 向 四周不斷擴展, 直到窗口全部顯示. 而當您關閉它時它又會從上向下慢慢地從顯示器中消 失....這將是什麼效果? 呵呵, 如果您願意, 下面就跟著我一起完成這樣一個偉大的夢想 吧.

設計思路是什麼呢? 如果您很聰明, 會馬上意識到這個工程很可能要用到 Windows提供 API. 上網一查, 果然有一個函數 : AnimateWindow, 它可以實現窗體的動畫效 果. 所以剩下的工作就是查看 MSDN, 了解更多的關於 AnimateWindow 函數的信息.

下面結合本例詳細介紹 AnimateWindow 函數在 C#中的應用.

聲明方式:  

聲明
[DllImportAttribute("user32.dll")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int  dwFlags);

參數說明:

Code
(1). IntPtr hwnd: 目標窗口 的句柄對象, 一般為 this.Handle
(2). int dwTime: 動畫的持續時間, 數值越大動 畫效果的時間越長
(3). int dwFlags: 動畫效果類型選項, 在C#中聲明如下:
注: 您程序中只聲明需要的動畫類型即可, 關於每個參數的含義會在後面詳細說明
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;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved