private void AllowUserToMoveWindowByDragging() { //Lots of low level windows BS MouseHook.HookWindow((WM code) => { if (code == WM.MOUSEMOVE || code == WM.NCMOUSEMOVE) { if (_bMouseDown) { System.Drawing.Point curMouse = MouseHook.GetMousePosition(); if (_vLastMouse != null) { System.Drawing.Point delta = new System.Drawing.Point( _vLastMouse.Value.X - curMouse.X, _vLastMouse.Value.Y - curMouse.Y); Top -= delta.Y; Left -= delta.X; } _vLastMouse = new System.Drawing.Point(curMouse.X, curMouse.Y); } } }); }
private void _MoveWindow_MouseDown(object sender, MouseButtonEventArgs e) { System.Drawing.Point curMouse = MouseHook.GetMousePosition(); _vLastMouse = new System.Drawing.Point(curMouse.X, curMouse.Y); _bMouseDown = true; }