解决方法
Microsoft KB Article 320687有一个详细的答案这个问题。
基本上,当被测试点位于窗体的客户区域时,您将覆盖WndProc方法将HTCAPTION返回到WM_NCHITTEST消息 – 这实际上是告诉Windows对待点击完全一样,就好像发生了表格的标题。
private const int WM_NCHITTEST = 0x84; private const int HTCLIENT = 0x1; private const int HTCAPTION = 0x2; protected override void WndProc(ref Message m) { switch(m.Msg) { case WM_NCHITTEST: base.WndProc(ref m); if ((int)m.Result == HTCLIENT) { m.Result = (IntPtr)HTCAPTION; } return; } base.WndProc(ref m); }