C#无标题栏窗体拖动

要实现C#无标题栏窗体的拖动功能,可以使用以下步骤:

  1. 在窗体的构造函数中添加以下代码,将窗体的边框样式设置为无标题栏和可调整大小的窗体:
this.FormBorderStyle = FormBorderStyle.Sizable;
this.Text = String.Empty;
  1. 添加以下代码,用于处理鼠标左键按下事件,以便开始拖动窗体:
private bool isDragging = false;
private Point dragOffset;private void Form1_MouseDown(object sender, MouseEventArgs e)
{if (e.Button == MouseButtons.Left){isDragging = true;dragOffset = e.Location;}
}
  1. 添加以下代码,用于处理鼠标移动事件,以便实时跟踪鼠标拖动的位置并移动窗体:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{if (isDragging){Point newPos = this.PointToScreen(e.Location);newPos.Offset(-dragOffset.X, -dragOffset.Y);this.Location = newPos;}
}
  1. 添加以下代码,用于处理鼠标左键释放事件,以便停止拖动窗体:
private void Form1_MouseUp(object sender, MouseEventArgs e)
{if (e.Button == MouseButtons.Left){isDragging = false;}
}
  1. 将窗体的MouseDown、MouseMove和MouseUp事件分别与上述事件处理方法关联,可以通过设计器中的属性窗格或手动添加以下代码来完成关联:
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseUp);

这样,当用户在无标题栏窗体上按住鼠标左键并移动时,窗体将跟随鼠标拖动的位置进行移动。要实现C#无标题栏窗体的拖动功能,可以使用以下步骤:

  1. 在窗体的构造函数中添加以下代码,将窗体的边框样式设置为无标题栏和可调整大小的窗体:
this.FormBorderStyle = FormBorderStyle.Sizable;
this.Text = String.Empty;
  1. 添加以下代码,用于处理鼠标左键按下事件,以便开始拖动窗体:
private bool isDragging = false;
private Point dragOffset;private void Form1_MouseDown(object sender, MouseEventArgs e)
{if (e.Button == MouseButtons.Left){isDragging = true;dragOffset = e.Location;}
}
  1. 添加以下代码,用于处理鼠标移动事件,以便实时跟踪鼠标拖动的位置并移动窗体:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{if (isDragging){Point newPos = this.PointToScreen(e.Location);newPos.Offset(-dragOffset.X, -dragOffset.Y);this.Location = newPos;}
}
  1. 添加以下代码,用于处理鼠标左键释放事件,以便停止拖动窗体:
private void Form1_MouseUp(object sender, MouseEventArgs e)
{if (e.Button == MouseButtons.Left){isDragging = false;}
}
  1. 将窗体的MouseDown、MouseMove和MouseUp事件分别与上述事件处理方法关联,可以通过设计器中的属性窗格或手动添加以下代码来完成关联:
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseUp);

这样,当用户在无标题栏窗体上按住鼠标左键并移动时,窗体将跟随鼠标拖动的位置进行移动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/55263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【解决】nvidia nx板运行python程序出现Segmentation fault (core dumped)问题

问题:运行python程序出现Segmentation fault (core dumped)问题。 bdlfbdlf-desktop:~/2、car_detect$ python3 test_zxh.py Segmentation fault (core dumped) 解决思路: 在主程序最开始加入两行代码: import faulthandler faulthandler.…

阿里 C++面试,算法题没做出来,,,

我本人是非科班学 C 后端和嵌入式的。在我面试的过程中,竟然得到了阿里​ C 研发工程师的面试机会。因为,阿里主要是用 Java 比较多,C 的岗位比较少​,所以感觉这个机会还是挺难得的。 阿里 C 研发工程师面试考了我一道类似于快速…

Android上的AES加密

基础算法说明 https://www.youtube.com/watch?vlnKPoWZnNNM 虽然这个视频讲的非常详细,但是涉及到具体底层算法,大致流程 1. 将数据转成HEX或者byte array 2.将数据分层一块块等大小的数据 3.将数据和key 进行一次混合,加密之后的输出&…

嵌入式系统---看门狗

在嵌入式系统中,看门狗定时器(Watchdog Timer,WDT)是一种常用的机制,用于检测和恢复系统在异常情况下的故障。如果系统因为某种原因(如软件死循环)而变得无响应,看门狗定时器可以自动…

在三维空间中旋转向量时的,旋转方向

在三维空间中旋转向量时,旋转的方向由定义的旋转轴和旋转角度决定。根据数学约定,通常遵循右手定则来确定旋转方向。 右手定则 对任意旋转操作,右手定则定义了旋转的方向: 伸展右手,大拇指指向旋转轴的正方向&#…

如何使用GeoIP和ELK(Elasticsearch、Logstash和Kibana)映射用户位置

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 IP 地理定位是用于确定 IP 地址的物理位置的过程,可以用于各种目的,如内容个性化和流量分析。通过地理位置…

ClickHouse的原理及使用,

1、前言 一款MPP查询分析型数据库——ClickHouse。它是一个开源的,面向列的分析数据库,由Yandex为OLAP和大数据用例创建。ClickHouse对实时查询处理的支持使其适用于需要亚秒级分析结果的应用程序。ClickHouse的查询语言是SQL的一种方言,它支…

【排序】——1.冒泡排序法(含优化)

冒泡排序 1.原理 左边大于右边交换一趟排下来最大的交换到右边来(接下来所以文章用升序举例) 从左到右,相邻元素进行比较。 每次比较一轮,就会找到序列中最大的一个(最小的一个——降序)。这个数就会从序列的最右边冒出来。 以…

算法时间、空间复杂度(二)

目录 大O渐进表示法 一、时间复杂度量级的判断 定义: 例一:执行2*N+1次 例二:执行MN次 例三:执行已知次数 例四:存在最好情况和最坏情况 顺序查找 冒泡排序 二分查找 例五:阶乘递归 ​编辑 例…

JIT详解

文章目录 JIT为什么说 Java 语言“编译与解释并存”? JIT原理JVM 架构简览JIT 编译流程JIT 编译器的实现优化策略方法内联逃逸分析 JIT 在Java中,JIT(Just-In-Time)编译器是Java虚拟机(JVM)的一个重要组成…

韩国 NEL动物医疗中心:犬二尖瓣修复术连获成功

“守护心脏的神之手” 在小型犬心脏疾病根本治疗(犬心脏修复手术)方面取得重大突破,已成功完成 16 例手术。 韩国 NEL动物医疗中心(NEL ANIMAL MEDICAL CENTER)严泰欽院长带领的心脏手术团队,为 16 只宠物…

自定义拦截器处理token

目录 1、WebConfig 配置类 2、TSUserContext 把用户信息放到context中 3、自定义拦截器 4、在controller中可以使用 5、参考链接 1、WebConfig 配置类 @Configuration public class WebConfig implements WebMvcConfigurer {@Autowiredprivate AccessControlInterceptor …

Lumerical学习——分析工具(Analysis tools)

一、分析工具和模拟环境(Analysis tools and the simulation environment) 模拟计算完成后,模拟计算数据紧接着写到模拟工程文件中;甚至当模拟计算提前结束时计算得到的部分数据集也会写到文件中。当模拟完成后单击退出按钮、或者…

【行业观察】三折机不够看?苹果研发四折叠屏iPhone

随着智能手机市场的日益成熟,消费者对手机形态和功能的需求也在不断升级。近年来,折叠屏手机凭借其独特的形态和更大的显示面积,成为了市场的新宠。而在这场折叠屏手机的竞争中,苹果作为智能手机行业的领头羊,自然也不…

Visual Studio 2022常用快捷键

1. 基本编辑快捷键 Ctrl X:剪切选中内容Ctrl C:复制选中内容Ctrl V:粘贴内容Ctrl Z:撤销Ctrl Y:重做Ctrl Shift L:删除当前行Ctrl K, Ctrl C:注释选中的代码Ctrl K, Ctrl U&#xf…

关于 FusionPBX

对于 FusionPBX,我了解不多,国内有人用,但不多 关于 iso 安装 找了一圈,只找到一个 2022年 的版本,链接为: https://master.dl.sourceforge.net/project/fusionpbx-live-medium/fusionpbx-embedded-2020…

Jmeter脚本录制、Badboy脚本录制

目录 Jmeter脚本录制 Badboy脚本录制 Jmeter脚本录制 1、首先添加一个http测试脚本记录器 2、选择目标控制器,把录制的内容放到的地方 3、分组,就是在录制的时候,每一步操作之间间隔方式,根据自己需要进行选择 4、开启浏览…

安全光幕的工作原理及应用场景

安全光幕是一种利用光电传感技术来检测和响应危险情况的先进设备。其工作原理基于红外线传感器,通过发射红外光束并接收反射或透射光束来形成一道无形的屏障。以下是对安全光幕工作原理和应用场景的介绍: 工作原理 发射器与接收器:安全光幕通…

mermaid 图表相关

1.mermaid图表的代码 1.1 flowchart 流程图代码 flowchart TDA[Christmas] -->|Get money| B(Go shopping)B --> C{Let me think}C -->|One| D[Laptop]C -->|Two| E[iPhone]C -->|Three| F[fa:fa-car Car]1.2 sequece 时序图代码 sequenceDiagramAlice->&…

AI开发-三方库-Hugging Face-Pipelines

1 需求 需求1:pipeline支持的任务类型 需求2:推理加速使用CPU还是GPU 需求3:基于pipeline的文本分类示例 需求4:pipeline实现原理 模型使用步骤(Raw text -》Input IDs -》Logits -》Predictions)&…