【窗体特效案例】C#利用api实现各种窗体特效案例 介绍:
这里主要利用API函数Animate Window实现窗体左右,上下,扩展,淡入滑动或滚动动画效果,话不多说上图。
效果图:
API代码:
[C#] 纯文本查看 复制代码 using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace AnimationForm
{
public class Win32
{
/// <summary>
/// 执行动画
/// </summary>
/// <param name="whnd">控件句柄</param>
/// <param name="dwtime">动画时间</param>
/// <param name="dwflag">动画组合名称</param>
/// <returns>bool值,动画是否成功</returns>
[DllImport("user32.dll")]
public static extern bool AnimateWindow(IntPtr whnd, int dwtime, int dwflag);
/// <summary>
/// 从左到右显示
/// </summary>
public const Int32 AW_HOR_POSITIVE = 0x00000001;
/// <summary>
/// 从右到左显示
/// </summary>
public const Int32 AW_HOR_NEGATIVE = 0x00000002;
/// <summary>
/// 从上到下显示
/// </summary>
public const Int32 AW_VER_POSITIVE = 0x00000004;
/// <summary>
/// 从下到上显示
/// </summary>
public const Int32 AW_VER_NEGATIVE = 0x00000008;
/// <summary>
/// 若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;否则使窗口向外扩展,即展开窗口
/// </summary>
public const Int32 AW_CENTER = 0x00000010;
/// <summary>
/// 隐藏窗口,缺省则显示窗口
/// </summary>
public const Int32 AW_HIDE = 0x00010000;
/// <summary>
/// 激活窗口。在使用了AW_HIDE标志后不能使用这个标志
/// </summary>
public const Int32 AW_ACTIVATE = 0x00020000;
/// <summary>
/// 使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略
/// </summary>
public const Int32 AW_SLIDE = 0x00040000;
/// <summary>
/// 透明度从高到低
/// </summary>
public const Int32 AW_BLEND = 0x00080000;
}
}
案例资源下载:
|