1
Я хотел бы сделать определенные панели в моей Форме перетаскиваемой/подвижной. Я включил:C# Перемещение панели внутри формы
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
в соответствии с другими ответами, которые я нашел здесь. Вместе с:
void pnlSettings_MouseMove(object sender, MouseEventArgs e)
{
Drag_Form(Handle, e);
}
public static void Drag_Form(IntPtr Handle, MouseEventArgs e){
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
А что, кажется, происходит целая форма движется, а не только на панели управления (pnlSettings). Я не могу понять, как заставить панель двигаться.
Так что, если я хочу переместить pnlSettings (имя моей панели), значит ли это, что я должен указать всем элементам управления внутри панели, чтобы переместить их? Позже отредактируйте: Nevermind. Ответ: Нет. Вы были правы, мне просто нужно было отправить: Drag_Form (pnlSettings.Handle, e); – Filip