C# winform 窗體從右下角向上彈出窗口效果


 1 /// <summary>  
2 /// 窗體動畫函數 注意:要引用System.Runtime.InteropServices;
3 /// </summary>
4 /// <param name="hwnd">指定產生動畫的窗口的句柄</param>
5 /// <param name="dwTime">指定動畫持續的時間</param>
6 /// <param name="dwFlags">指定動畫類型,可以是一個或多個標志的組合。</param>
7 /// <returns></returns>
8 [DllImport("user32")]
9 private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
10 //下面是可用的常量,根據不同的動畫效果聲明自己需要的
11 private const int AW_HOR_POSITIVE = 0x0001;//自左向右顯示窗口,該標志可以在滾動動畫和滑動動畫中使用。使用AW_CENTER標志時忽略該標志
12 private const int AW_HOR_NEGATIVE = 0x0002;//自右向左顯示窗口,該標志可以在滾動動畫和滑動動畫中使用。使用AW_CENTER標志時忽略該標志
13 private const int AW_VER_POSITIVE = 0x0004;//自頂向下顯示窗口,該標志可以在滾動動畫和滑動動畫中使用。使用AW_CENTER標志時忽略該標志
14 private const int AW_VER_NEGATIVE = 0x0008;//自下向上顯示窗口,該標志可以在滾動動畫和滑動動畫中使用。使用AW_CENTER標志時忽略該標志該標志
15 private const int AW_CENTER = 0x0010;//若使用了AW_HIDE標志,則使窗口向內重疊;否則向外擴展
16 private const int AW_HIDE = 0x10000;//隱藏窗口
17 private const int AW_ACTIVE = 0x20000;//激活窗口,在使用了AW_HIDE標志后不要使用這個標志
18 private const int AW_SLIDE = 0x40000;//使用滑動類型動畫效果,默認為滾動動畫類型,當使用AW_CENTER標志時,這個標志就被忽略
19 private const int AW_BLEND = 0x80000;//使用淡入淡出效果
20
21
22 private void FrmMsg_Load(object sender, EventArgs e)
23 {
24 int x = Screen.PrimaryScreen.WorkingArea.Right - this.Width;
25 int y = Screen.PrimaryScreen.WorkingArea.Bottom - this.Height;
26 this.Location = new Point(x, y);//設置窗體在屏幕右下角顯示
27 AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);
28 }
29 private void FrmMsg_FormClosing(object sender, FormClosingEventArgs e)
30 {
31 AnimateWindow(this.Handle, 1000, AW_BLEND | AW_HIDE);
32 }

原文轉自無聊齋


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM