C#常见Winform窗体效果详解

  ///

  /// 窗口显示关闭动画

  ///

  class PopUpWindowAnimation

  {

  ///

  /// 窗口打开关闭动画

  ///

  /// 窗口句柄

  /// 持续时间

  /// 效果

  ///

  public static bool PopWindow(IntPtr handle,int duration, Effect effert)

  {

  bool result = AnimateWindow(handle, duration, (int)effert);

  return result;

  }

  ///

  /// 实现窗口的动画效果

  ///

  /// 窗口句柄

  /// 动画持续的时间

  /// 动画类型选项

  ///

  [DllImport("user32.dll")]

  static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);

  }

  ///

  /// 动画效果

  ///

  [Flags]

  public enum Effect

  {

  ///

  /// 滑动效果。默认为滚动动画类型,当使用AW_CENTER标志时,这个标志被忽略

  ///

  AW_SLIDE = 0X40000,

  ///

  /// 激活窗口。在使用AW_HIDE标志后不要使用这个标志

  ///

  AW_ACTIVATE = 0X20000,

  ///

  /// 使用淡入效果。只有当hWnd为顶层窗口时才可以使用此标志

  ///

  AW_BLEND = 0X80000,

  ///

  /// 隐藏窗口,默认则显示窗口

  ///

  AW_HIDE = 0X10000,

  ///

  ///若使用AW_HIDE标志,则使窗口向内重叠;若使用AW_HIDE标志,则使窗口向外扩展。

  ///

  AW_CENTER = 0X10,

  ///

  /// 自左向右显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志

  /// 被忽略

  ///

  AW_HOR_POSITIVE = 0X1,

  ///

  /// 自右向左显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志

  /// 被忽略

  ///

  AW_HOR_NEGATIVE = 0X2,

  ///

  /// 自上向下显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志

  /// 被忽略

  ///

  AW_VER_POSITIVE = 0X4,

  ///

  /// 自下向上显示窗口。该标志可以在滚动动画和滑动动画中使用。当使用AW_CENTER标志时,该标志

  /// 被忽略

  ///

  AW_VER_NEGATIVE = 0X8

  }