您的位置:首页 > 编程语言 > C#

C#.NET 使用windowsAPI 制作出窗口淡入淡出特殊效果

2007-08-29 09:02 507 查看
好久没有写blog了,因为最近很忙,这几天在网上search时发现了有人问了一个问题,通过windows API来制作淡入淡出特殊效果,在网上baidu了一下,还不少好东西,把它整理了一下贴出来大家看看。


using System;


using System.Collections.Generic;


using System.ComponentModel;


using System.Data;


using System.Drawing;


using System.Text;


using System.Windows.Forms;


using System.Runtime.InteropServices;// 添加using


namespace WindowsApplication1




...{


public partial class Form1 : Form




...{


[DllImport("user32")]


private static extern bool AnimateWindow(IntPtr whnd, int dwtime, int dwflag);


//dwflag的取值如下


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标志,则使窗口向内重叠,即收缩窗口;否则使窗口向外扩展,即展开窗口


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;


//透明度从高到低




public Form1()




...{


InitializeComponent();


//在Form_Load中添加代码实现窗体的淡入


AnimateWindow(this.Handle, 500, AW_CENTER);


//多个dwflag之间用 | 隔开






}




private void Form1_FormClosing(object sender, FormClosingEventArgs e)




...{


//在Form_FormClosing中添加代码实现窗体的淡出


AnimateWindow(this.Handle,500,AW_CENTER|AW_HIDE);


//必须有AW_HIDE才能看到窗体的淡出


}


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐