C#知识库|如何拖动无边框 WinForm 表单的位置?-实现步骤
最编程
2024-05-05 13:42:19
...
2.1、MouseDown方法
方法代码:
private void Frm_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)//判断鼠标左键是否被按下
{
mouseOff = new Point(-e.X, -e.Y);//得到变量的值
leftFlag = true;//标记鼠标左键的状态
}
}
2.2、MouseMove方法
方法代码:
private void Frm_MouseMove(object sender, MouseEventArgs e)//鼠标移动触发MouseMove事件
{
if(leftFlag)//判断鼠标左键有没有被按下
{
Point mouseSet = Control.MousePosition;//获取屏幕中鼠标所在的位置
mouseSet.Offset(mouseOff.X, mouseOff.Y);//设置移动后的位置
Location=mouseSet;
}
}
2.3、MouseUp方法
方法代码:
private void Frm_MouseUp(object sender, MouseEventArgs e)//鼠标左键抬起后触发MouseUp事件
{
if(leftFlag)
{
leftFlag = false;//释放鼠标后标注为false;
}
}
2.4、登录窗体关联方法
在窗体的事件中关联响应
2.5、创建字段
新建两个字段用来存放鼠标的坐标及鼠标左键的状态
代码如下:
private Point mouseOff;//鼠标移动位置变量
private bool leftFlag;//标签是否为左键
上一篇: std::any 简介
下一篇: IO流-打印流
推荐阅读