窗体的无边框移动:
条件:
winform窗体的FormBorderStyle属性设置为None
事件:
winform窗体的MouseDown()事件。
winform窗体的MouseMove()事件。
winform窗体的MouseUp()事件。
#region 无窗体移动
Point beginSite; //坐标点
bool isMove;
private void frmlogin_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left) //鼠标右键
{
beginSite = new Point(-e.X,-e.Y); //当前位置的偏移量
isMove = true;
}
}
private void frmlogin_MouseMove(object sender, MouseEventArgs e)
{
if (isMove) //鼠标右键按下
{
Point newsite = Control.MousePosition; //获取鼠标的位置
newsite.Offset(beginSite.X,beginSite.Y); //从开始位置偏移的量
Location = newsite; //设置当前位置为移动后的位置。
}
}
private void frmlogin_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left) //释放鼠标左键,完成移动
{
isMove = false;
}
}
#endregion
附图一张