01 |
#region 窗体关闭效果 |
02 |
03 |
#region 私有方法 |
04 |
[DllImportAttribute( "user32.dll" )] |
05 |
private static extern bool AnimateWindow(IntPtr whnd, int dwtime, int dwflag); |
06 |
#endregion |
07 |
08 |
/* |
09 |
1. AW_SLIDE : 使用滑动类型, 默认为该类型. 当使用 AW_CENTER 效果时, 此效果被忽略 |
10 |
2. AW_ACTIVE: 激活窗口, 在使用了 AW_HIDE 效果时不可使用此效果 |
11 |
3. AW_BLEND: 使用淡入效果 |
12 |
4. AW_HIDE: 隐藏窗口 |
13 |
5. AW_CENTER: 与 AW_HIDE 效果配合使用则效果为窗口几内重叠, 单独使用窗口向外扩展. |
14 |
6. AW_HOR_POSITIVE : 自左向右显示窗口 |
15 |
7. AW_HOR_NEGATIVE: 自右向左显示窗口 |
16 |
8. AW_VER_POSITVE: 自顶向下显示窗口 |
17 |
9. AW_VER_NEGATIVE : 自下向上显示窗口 |
18 |
*/ |
19 |
public const Int32 AW_HOR_POSITIVE = 0x00000001; |
20 |
public const Int32 AW_HOR_NEGATIVE = 0x00000002; |
21 |
public const Int32 AW_VER_POSITIVE = 0x00000004; |
22 |
public const Int32 AW_VER_NEGATIVE = 0x00000008; |
23 |
public const Int32 AW_CENTER = 0x00000010; |
24 |
public const Int32 AW_HIDE = 0x00010000; |
25 |
public const Int32 AW_ACTIVATE = 0x00020000; |
26 |
public const Int32 AW_SLIDE = 0x00040000; |
27 |
public const Int32 AW_BLEND = 0x00080000; |
28 |
29 |
30 |
31 |
/// <summary> |
32 |
/// 由边界向中心扩展渐进关闭窗口 |
33 |
/// </summary> |
34 |
public static void HideFXCenter(IntPtr wnd, int dwtime) |
35 |
{ |
36 |
AnimateWindow(wnd, dwtime, AW_CENTER | AW_HIDE | AW_SLIDE); |
37 |
} |
38 |
39 |
#endregion |
调用方法
启动效果: 在窗体加载事件里面加上
1 |
AnimateWindow( this .Handle, 800, AW_SLIDE + AW_CENTER); |
关闭效果: 在窗体关闭的事件里加上
1 |
HideFXCenter( this .Handle, 400); |
声明: 本文由(孤狼)原创编译,转载请保留链接: C# 仿金山毒霸启动和关闭淡入淡出效果