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