窗体淡入淡出效果2
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;
??????????? public const Int32 AW_HIDE = 0x00010000;??????? // 在窗體卸載時(shí)若想使用本函數(shù)就得加上此常量
??????????? public const Int32 AW_ACTIVATE = 0x00020000;??? //在窗體通過本函數(shù)打開后,默認(rèn)情況下會(huì)失去焦點(diǎn),除非加上本常量
??????????? public const Int32 AW_SLIDE = 0x00040000;
??????????? public const Int32 AW_BLEND = 0x00080000;?????? // 淡入淡出效果
??????????? [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);
}
//------------------------------------------------
//用timer實(shí)現(xiàn)淡出
private void timer1_Tick(object sender, System.EventArgs e)
??????? {
??????????? //----淡出 interval=100
??????????? if(this.Opacity?? <1)??
??????????? {??
??????????????? this.Opacity?? =this.Opacity?? +0.05;??
??????????? }??
??????????? else??
??????????? {??
??????????????? this.timer1.Enabled?? =false;??
??????????? }
???????
??????????? //----從下向上淡出 interval=6
??????????? int y = this.Location.Y;
??????????? if(y>500)
??????????? {
??????????????? if(y==301)
??????????????? {
??????????????????? int x = y;
??????????????? }
??????????????? this.Location = new Point(748,--y);
??????????? }
??????????? else
??????????? {
??????????????? this.timer2.Enabled?? =false;??
??????????? }
??????? }
轉(zhuǎn)載于:https://www.cnblogs.com/mojun/archive/2012/03/28/2420758.html
總結(jié)
- 上一篇: linux驱动开发的经典书籍
- 下一篇: DevExpress 里实现单选按钮