1.第一步去掉边框 在属性框中找到FormBorderStyle选择none。 2.第二步 添加 using System.Runtime.InteropServices; 3.第三步 在 { InitializeComponent(); } 后添加以下代码
bool beginMove = false;//初始化鼠标位置 int currentXPosition; int currentYPosition;4.第四步 回到窗体界面,点击属性框上部有个小闪电,点击进入 事件页面 双击MouseDown,MouseMove,MouseUp后面的空白处。 5.第五步 分别点击进入MouseDown 、 MouseMove、MouseUp 并分别添加以下代码
//获取鼠标按下时的位置 private void loginForm_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { beginMove = true; currentXPosition = MousePosition.X;//鼠标的x坐标为当前窗体左上角x坐标 currentYPosition = MousePosition.Y;//鼠标的y坐标为当前窗体左上角y坐标 } } //获取鼠标移动到的位置 private void loginForm_MouseMove(object sender, MouseEventArgs e) { if (beginMove) { this.Left += MousePosition.X - currentXPosition;//根据鼠标x坐标确定窗体的左边坐标x this.Top += MousePosition.Y - currentYPosition;//根据鼠标的y坐标窗体的顶部,即Y坐标 currentXPosition = MousePosition.X; currentYPosition = MousePosition.Y; } } //释放鼠标时的位置 private void loginForm_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { currentXPosition = 0; //设置初始状态 currentYPosition = 0; beginMove = false; } }