Перемещение формы без заголовка в C#
Когда пользователь нажимает мышь на зеленую метку lblMoveForm Label в верхнем правом углу формы, выполняется следующий обработчик событий.
// На левой кнопке позвольте пользователю перетащить форму. private void lblMoveForm_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { // Отпустите захват мыши, запущенный мышью. lblMoveForm.Capture = false; // Создаем и отправляем сообщение WM_NCLBUTTONDOWN. const int WM_NCLBUTTONDOWN = 0x00A1; const int HTCAPTION = 2; Message msg = Message.Create(this.Handle, WM_NCLBUTTONDOWN, new IntPtr(HTCAPTION), IntPtr.Zero); this.DefWndProc(ref msg); } }
Код устанавливает свойство Capture элемента управления false, чтобы освободить захват мыши, который был запущен нажатием кнопки мыши.