C#无标题栏窗体鼠标拖动
2017-06-25 22:46
253 查看
实现没有标题栏的窗体拖动,获取窗体位置、鼠标位置,判断是否鼠标是否按下,以及鼠标是否在窗体内部,即可实现。
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;
}
}
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#无标题栏窗体鼠标拖动
- C#无标题栏窗体鼠标拖动
- C#无标题栏窗体鼠标拖动
- C#无标题栏窗体鼠标拖动
- c# 实现用鼠标拖动没有标题栏的窗口(窗体的任何部分都可实现拖动效果)
- C#无标题栏窗体鼠标拖动
- C#无标题栏窗体鼠标拖动
- C#无标题栏窗体鼠标拖动
- C#无标题栏窗体鼠标拖动
- C#无标题栏窗体鼠标拖动
- C#中怎么实现窗体无标题栏拖动
- 简洁的 c# 拖动无标题栏窗体
- C#基础系列:开发自己的窗体设计器(在容器上拖动鼠标增加控件)
- c# 拖动无标题栏窗体代碼(轉)
- c# 鼠标在控件上拖动 移动窗体 移动窗口
- java中 实现无标题无边框的窗体能够用鼠标拖动改变窗口大小
- C#中利用"消息处理"实现在窗体中按下鼠标左键拖动窗体_L
- c# 鼠标点击控件即拖动窗体
- C# 用鼠标拖动无边框窗体
- C# 如何鼠标拖动无边框窗体