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(私のPanelの名前)を移動したいのであれば、パネル内のすべてのコントロールに移動するように具体的に指示する必要がありますか? 後で編集:気にしないでください。答えは「いいえ」です。あなたは正しいです、私はちょうど送る必要がありました:Drag_Form(pnlSettings.Handle、e); – Filip