您的位置:首页 > 编程语言 > C#

C#无标题栏窗体鼠标拖动

2017-06-25 22:46 302 查看
实现没有标题栏的窗体拖动,获取窗体位置、鼠标位置,判断是否鼠标是否按下,以及鼠标是否在窗体内部,即可实现。

public partial class Form1 : Form
{

Point mousePosition;
Point formPosition;
bool isMouseDown = false;//是否按下
bool isMouseIn = false;//是否在窗体内

public Form1()
{
InitializeComponent();
}

//鼠标按下
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
isMouseDown = true;
mousePosition = Control.MousePosition; //鼠标位置
formPosition = this.Location; //窗体左上角位置
}

private void Form1_MouseUp(object sender, MouseEventArgs e)
{
isMouseDown = false;
}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Point mousePoint = Control.MousePosition; //移动的位置
if (isMouseDown&&isMouseIn)
this.Location = new Point(mousePoint.X - mousePosition.X + formPosition.X, mousePoint.Y - mousePosition.Y + formPosition.Y);
}

private void Form1_MouseEnter(object sender, EventArgs e)
{
isMouseIn = true;
}

private void Form1_MouseLeave(object sender, EventArgs e)
{
isMouseIn = false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 无标题栏移动