添加以下两个类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace FileX
{
internal static class NativeMethods
{
/// <summary>
/// Gets the handle of the window that currently has focus.
/// </summary>
/// <returns>
/// The handle of the window that currently has focus.
/// </returns>
[DllImport("user32")]
internal static extern IntPtr GetForegroundWindow();
/// <summary>
/// Activates the specified window.
/// </summary>
/// <param name="hWnd">
/// The handle of the window to be focused.
/// </param>
/// <returns>
/// True if the window was focused; False otherwise.
/// </returns>
[DllImport("user32")]
internal static extern bool SetForegroundWindow(IntPtr hWnd);
/// <summary>
/// Windows API function to animate a window.
/// </summary>
[DllImport("user32")]
internal extern static bool AnimateWindow(IntPtr hWnd, int dwTime, int dwFlags);
[DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
internal static extern IntPtr CreateRoundRectRgn
(
int nLeftRect, // x-coordinate of upper-left corner
int nTopRect, // y-coordinate of upper-left corner
int nRightRect, // x-coordinate of lower-right corner
int nBottomRect, // y-coordinate of lower-right corner
int nWidthEllipse, // width of ellipse
int nHeightEllipse // height of ellipse
);
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace FileX
{
/// <summary>
/// Animates a form when it is shown, hidden or closed
/// </summary>
/// <remarks>
/// MDI child forms do not support the Fade method and only support other methods while being displayed for the first time and when closing
/// </remarks>
public sealed class FormAnimator
{
#region Types
/// <summary&