winform 无边框 实现拖动

核心代码

private Point mPoint;//定义一个位置信息Point用于存储鼠标位置
//控件注册下面两个事件

private void panelTop_MouseDown(object sender, MouseEventArgs e)
{
    mPoint = new Point(e.X, e.Y);
}

/// <summary>
/// 鼠标移动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void panelTop_MouseMove(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        this.Location = new Point(this.Location.X + e.X - mPoint.X, this.Location.Y + e.Y - mPoint.Y);
    }
}

本文来自 www.luofenming.com