无标题窗体拖动关闭最大化最小化按钮

此方法适合用于无标题窗体拖动的界面
首先我们先设计好一个界面,如下图:
无标题窗体拖动关闭最大化最小化按钮
再拖一个信息提示工具ToolTip,如下图:
无标题窗体拖动关闭最大化最小化按钮
无标题窗体拖动关闭最大化最小化按钮
写好提示代码:

private void Form3_Load(object sender, EventArgs e)
{
Prompt.ShowAlways = true;
Tooltp(Minimum, “最小化”);
Tooltp(Maximum, “最大化”);
Tooltp(Close, “关闭”);
this.qiangjianmobanku.Visible = true;
this.shengchengbaogao.Visible = false;
this.qiangjianbaogaoku.Visible = false;
}

///
/// 信息提示
///
/// 控件名称
/// 提示信息
private void Tooltp(Control cName, string cInfo)
{
Prompt.SetToolTip(cName, cInfo);
}

然后写三个button按钮的单击事件:
第一个关闭点击事件:
#region 窗体关闭特效
public const Int32 AW_CENTER = 0x00000010;
public const Int32 AW_HIDE = 0x00010000;

    //重写API函数,用来执行窗体动画显示操作
    [DllImportAttribute("user32.dll")]
    private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);

#endregion 窗体关闭特效

///
/// 关闭窗口
///
///
///
private void Close_Click(object sender, EventArgs e)
{
AnimateWindow(this.Handle, 100, AW_CENTER + AW_HIDE);//结束窗体动画
//this.Close();
Application.Exit();
}

第二个放大按钮点击事件:
///
/// 最大化
///
///
///
private void Maximum_Click(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Maximized)
{
Maximum.Text = “最大”;
this.WindowState = FormWindowState.Normal;
}
else
{
Maximum.Text = “还原”;
Tooltp(Maximum, “还原”);
this.WindowState = FormWindowState.Normal;
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
this.WindowState = FormWindowState.Maximized;
}
}

第三个最小化按钮点击事件:
#region 最小化右键菜单
const int WS_CLIPCHILDREN = 0x2000000;
const int WS_MINIMIZEBOX = 0x20000;
const int WS_MAXIMIZEBOX = 0x10000;
const int WS_SYSMENU = 0x80000;
const int CS_DBLCLKS = 0x8;
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;

            cp.Style = WS_CLIPCHILDREN | WS_MINIMIZEBOX | WS_SYSMENU;
            cp.ClassStyle = CS_DBLCLKS;

            return cp;
        }
    }

#endregion 最小化右键菜单

   /// <summary>
   /// 最小化
   /// </summary>
   /// <param name="sender"></param>
   /// <param name="e"></param>
    private void Minimum_Click(object sender, EventArgs e)
    {
        this.WindowState = FormWindowState.Minimized;
}