我使用以下代码来拖动一个无边框窗体,通过点击和拖动窗体本身。它可以工作,但是当你点击并拖动位于窗体上的控件时却不起作用。我需要能够在单击某些控件但不是其他控件时拖动它 - 拖动标签,但不是按钮和文本框。我该怎么做?
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
const int WM_NCHITTEST = 0x84;
const int HTCLIENT = 0x1;
const int HTCAPTION = 0x2;
if (m.Msg == WM_NCHITTEST && (int)m.Result == HTCLIENT)
m.Result = (IntPtr)HTCAPTION;
}