C#实现左键拖动窗体效果

新建一个窗体程序,加上如下代码

private const int WM_NCHITTEST = 0x84;
private const int HTCLIENT = 0x1;
private const int HTCAPTION = 0x2; 
protected override void WndProc(ref Message m)//拖动窗体咯 消息处理
{
    //定义了三个变量+这里就ok啦  点击窗体用户区拖动窗体
    switch (m.Msg)
    {
        case WM_NCHITTEST:
            base.WndProc(ref m);
            if ((int)m.Result == HTCLIENT)
                m.Result = (IntPtr)HTCAPTION;
            return;
    }
    base.WndProc(ref m);
}

通过以上代码可以实现左键点击窗体不放可以拖动整个窗体。