欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

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流-打印流