C#中移动无边框窗体
为了美观,自己用Panel做了一个标题栏,如下图白色的上边栏,直接贴代码
////// 鼠标左键按下 /// /// /// private void panel3_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { isMouseDown = true; FormLocation = this.Location; mouseOffset = Control.MousePosition; } } /// /// 鼠标移动 /// /// /// private void panel3_MouseMove(object sender, MouseEventArgs e) { int x = 0; int y = 0; if (isMouseDown) { Point pt = Control.MousePosition; x = mouseOffset.X - pt.X; y = mouseOffset.Y - pt.Y; this.Location = new Point(FormLocation.X - x, FormLocation.Y - y); } } /// /// 鼠标左键松开 /// /// /// private void panel3_MouseUp(object sender, MouseEventArgs e) { isMouseDown = false;//全局变量防止鼠标没有按下左键窗体也跟着移动 }