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;
}
}