使用C#實現WinForm表單的動畫效果

來源:互聯網
上載者:User
C# Form Animation with Windows API

.NET Animation Control
C# GameDev: Simple Animation  
An Animation Component using C#
C#如何?漸顯視窗[原創]

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; //若使用了AW_HIDE標誌,則使視窗向內重疊;若未使用AW_HIDE標誌,則使視窗向外擴充。
  public const Int32 AW_HIDE = 0x00010000; //隱藏視窗,預設則顯示視窗。
  public const Int32 AW_ACTIVATE = 0x00020000; //啟用視窗。在使用了AW_HIDE標誌後不要使用這個標誌。
  public const Int32 AW_SLIDE = 0x00040000; //使用滑動類型。預設則為滾動動畫類型。當使用AW_CENTER標誌時,這個標誌就被忽略。
  public const Int32 AW_BLEND = 0x00080000; //使用淡出效果。只有當hWnd為頂層視窗的時候才可以使用此標誌。
  [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);
 }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.