可以通过以下步骤使C#中的无标题栏窗体可拖动:
-
在窗体的构造函数中添加以下代码以去除标题栏:
InitializeComponent(); this.FormBorderStyle = FormBorderStyle.None;
-
实现窗体的MouseDown、MouseMove和MouseUp事件,用它来处理拖动窗体的功能。例如:
private bool drag = false; private Point startPoint = new Point(0, 0); private void Form1_MouseDown(object sender, MouseEventArgs e) { drag = true; startPoint = new Point(e.X, e.Y); } private void Form1_MouseMove(object sender, MouseEventArgs e) { if (drag) { Point p = PointToScreen(e.Location); Location = new Point(p.X - startPoint.X, p.Y - startPoint.Y); } } private void Form1_MouseUp(object sender, MouseEventArgs e) { drag = false; }
-
在窗体的属性窗口中将MouseDown、MouseMove和MouseUp事件与相应的方法相连。
这样就可以在C#中实现无标题栏窗体的拖动了。