1.引用
using System.Runtime.InteropServices;
2.定义公共变量并引用api
public const int WM_SYSCOMMAND = 0x0112;//向Windows发送的消息类型
public const int SC_MOVE = 0XF010; //发送消息的附加消息
public const int HTCAPTION = 0x0002; //发送消息的附加消息
//释放被当前线程的某个窗口捕获的光标
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
//向指定窗体发送Windows消息
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwdn, int wMsg, int mParam, int lParam);
3.找到控件的MouseDown事件
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture(); //释放被当前线程中某个窗口捕获的光标
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);//向Windows发送拖动窗体消息
}