C#实现控件拖动窗口

1. 添加Using 声明

using System.Runtime.InteropServices;

 

2.在类中加入如下API代码:

       

 [DllImport("user32")]         private static extern bool ReleaseCapture();

 [DllImport("user32")]         private static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);

 public const int WM_SYSCOMMAND = 0x0112;         public const int SC_MOVE = 0Xf010;         public const int HTCAPTION = 0x0002;

 

3.在需要拖动的Form或控件的MouseDown事件中加入以下代码:

       

ReleaseCapture();         
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE +HTCAPTION,0);

 

完成;

 

posted @ 2013-05-04 15:45  Xdoudou  阅读(482)  评论(1编辑  收藏  举报