Перемещение формы без заголовка в 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, чтобы освободить захват мыши, который был запущен нажатием кнопки мыши.
