通过鼠标拖动无边框窗口

可能重复:
C# – 使无边框forms可移动?

我通过设置在C#中创建了一个没有边框的表单

this.FormBorderStyle = FormBorderStyle.None;

现在,问题是如何用鼠标拖动它?

这应该是你要找的“增强:拖动和移动WinForms”

 public partial class MyDraggableForm : Form { private const int WM_NCHITTEST = 0x84; private const int HTCLIENT = 0x1; private const int HTCAPTION = 0x2; /// /// Handling the window messages /// protected override void WndProc(ref Message message) { base.WndProc(ref message); if (message.Msg == WM_NCHITTEST && (int)message.Result == HTCLIENT) message.Result = (IntPtr)HTCAPTION; } public MyDraggableForm() { InitializeComponent(); } } 

正如博客文章所述,这是一种“欺骗”系统的方法。 这样您就不需要考虑鼠标上/下事件了。

您必须注册MouseDown,MouseUp和MouseMove事件,并根据鼠标的移动移动表单。