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(我的小組的名稱),這意味着我要明確告訴面板內的所有控件與它移動? 後來編輯:沒關係。答案是否定的。你說得對,我只需要發送:Drag_Form(pnlSettings.Handle,e); – Filip