当前位置: 首页 > news >正文

C#无标题栏窗体拖动方法

在C#中,可以通过以下步骤实现无标题栏窗体拖动功能:

  1. 设置窗体的BorderStyle属性为None,这将隐藏窗体的标题栏和边框。

  2. 在窗体的MouseDown事件中,记录鼠标按下时的坐标。

  3. 在窗体的MouseMove事件中,计算鼠标移动的偏移量,并将窗体的位置设置为偏移后的位置。

以下是示例代码:

public partial class MainForm : Form
{private Point mouseOffset;public MainForm(){InitializeComponent();// 隐藏标题栏和边框this.FormBorderStyle = FormBorderStyle.None;}private void MainForm_MouseDown(object sender, MouseEventArgs e){// 记录鼠标按下时的坐标mouseOffset = new Point(-e.X, -e.Y);}private void MainForm_MouseMove(object sender, MouseEventArgs e){// 判断是否按下了鼠标左键if (e.Button == MouseButtons.Left){Point mousePos = Control.MousePosition;mousePos.Offset(mouseOffset.X, mouseOffset.Y);// 将窗体的位置设置为偏移后的位置this.Location = mousePos;}}
}

在窗体的MouseDown事件中,记录鼠标按下时的坐标,这里使用了一个Point对象来保存坐标偏移量。在MouseMove事件中,判断是否按下了鼠标左键,如果是则计算鼠标移动的偏移量,并将窗体的位置设置为偏移后的位置。

相关文章:

  • macos安装metal 加速版 pytorch
  • 《实战:如何使用Vue2.0开发一个npm组件库》- 6、Vue2.x 组件 webpack3 升 webpack5
  • 深入浅出分析kafka客户端程序设计 ----- 消费者篇----万字总结
  • 杨志丰:OceanBase助力企业应对数据库转型深水区挑战
  • Python+requests+unittest+excel实现接口自动化测试框架
  • 在VSCode中运行Python脚本文件时如何传参
  • 用Rust刷LeetCode之66 加一
  • 2分钟带你了解什么是Vsync
  • Java爬虫攻略:应对JavaScript登录表单
  • Apache Hive(部署+SQL+FineBI构建展示)
  • Ribbon组件的负载均衡原理
  • 电脑搜不自己的手机热点,其余热点均可!
  • 采样率越高噪声越大?
  • 【redis笔记】分布式锁
  • 【Lidar】基于Python的三维点云数据转二维平面+散点图绘制
  • 【刷算法】求1+2+3+...+n
  • 2017 前端面试准备 - 收藏集 - 掘金
  • ERLANG 网工修炼笔记 ---- UDP
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java比较器对数组,集合排序
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Selenium实战教程系列(二)---元素定位
  • 对象引论
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端性能优化--懒加载和预加载
  • 如何实现 font-size 的响应式
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #{}和${}的区别?
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (接口自动化)Python3操作MySQL数据库
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (实战篇)如何缓存数据
  • (四)Android布局类型(线性布局LinearLayout)
  • (一)VirtualBox安装增强功能
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • @Autowired和@Resource的区别
  • @Documented注解的作用
  • @开发者,一文搞懂什么是 C# 计时器!
  • []sim300 GPRS数据收发程序
  • [1] 平面(Plane)图形的生成算法
  • [20140403]查询是否产生日志
  • [android] 看博客学习hashCode()和equals()
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)
  • [BUAA软工]第一次博客作业---阅读《构建之法》