C#无标题栏窗体拖动
要实现C#无标题栏窗体的拖动功能,可以通过以下步骤实现:
- 在窗体的构造函数中添加以下代码,以去掉标题栏:
this.FormBorderStyle = FormBorderStyle.None;
- 然后,添加以下代码以处理鼠标按下事件:
private const int WM_NCHITTEST = 0x0084;
private const int HT_CAPTION = 0x0002;protected override void WndProc(ref Message m)
{switch (m.Msg){case WM_NCHITTEST:base.WndProc(ref m);if ((int)m.Result == HT_CLIENT)m.Result = (IntPtr)HT_CAPTION;return;}base.WndProc(ref m);
}
- 最后,通过处理鼠标按下和移动事件来实现拖动功能:
private bool isDragging = false;
private Point lastCursor;
private Point lastForm;private void Form1_MouseDown(object sender, MouseEventArgs e)
{isDragging = true;lastCursor = Cursor.Position;lastForm = this.Location;
}private void Form1_MouseMove(object sender, MouseEventArgs e)
{if (isDragging){int x = lastForm.X - (lastCursor.X - Cursor.Position.X);int y = lastForm.Y - (lastCursor.Y - Cursor.Position.Y);this.Location = new Point(x, y);}
}private void Form1_MouseUp(object sender, MouseEventArgs e)
{isDragging = false;
}
将上述代码添加到你的窗体上即可实现无标题栏窗体的拖动功能。
相关文章:
C#无标题栏窗体拖动
要实现C#无标题栏窗体的拖动功能,可以通过以下步骤实现: 在窗体的构造函数中添加以下代码,以去掉标题栏: this.FormBorderStyle FormBorderStyle.None;然后,添加以下代码以处理鼠标按下事件: private c…...
MySQL容器配置连接数数,镜像重启生效
若有不理解,可以问一下这几个免费的AI网站 https://ai-to.cn/chathttp://m6z.cn/6arKdNhttp://m6z.cn/6b1quhhttp://m6z.cn/6wVAQGhttp://m6z.cn/63vlPw 方法一 在 docker-compose.yml 中配置 MySQL 的连接数,可以通过环境变量或配置文件来实现。以下…...
《OpenCV计算机视觉》—— 身份证号码识别案例
文章目录 一、案例实现的整体思路二、代码实现1.首先定义两个函数2.模板图像中数字的定位处理3.身份证号码数字的定位处理4.使用模板匹配,计算匹配得分,找到正确结果 一、案例实现的整体思路 下面是一个数字0~9的模板图片 案例身份证如下: 对…...
如何使用正则表达式替换字符串中的特定位置数字
如何使用正则表达式替换字符串中的特定位置数字 1、效果 把字符串中的第一个123替换掉: 2、代码 使用正则中的sub函数: re.sub(pattern,repl,string,count=0,flags=0) pattern:表示需要匹配的模式,即需要被替换的字符或字符串。 repl:表示替换后的字符串或函数,用于…...
【SQL】在SQL中,行转列
在SQL中,行转列通常是指将数据从水平方向(行)转换为垂直方向(列),这可以通过使用CASE语句或数据库特有的函数如PIVOT(在SQL Server中)来实现。下面我将通过一个具体的例子来说明如何…...
95. UE5 GAS RPG 实现创建多段飞弹攻击敌人
从这篇开始,我们将实现一些技能,比如多段火球术,闪电链等等。 在这一篇里,我们先实现多段火球术,技能可以通过配置发射出多个火球术进行攻击。 创建多段火球函数 首先在我们之前创建的RPGFireBolt.h类里面增加一个生…...
分布式集群下如何做到唯一序列号
优质博文:IT-BLOG-CN 分布式架构下,生成唯一序列号是设计系统常常会遇到的一个问题。例如,数据库使用分库分表的时候,当分成若干个sharding表后,如何能够快速拿到一个唯一序列号,是经常遇到的问题。实现思…...
在 Vue 2 中使用 Axios 发起 POST 和 GET 请求
Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 node.js,它提供了一种非常方便的方式来发送异步 HTTP 请求。在 Vue 2 应用中,Axios 可以帮助我们轻松地与后端 API 进行通信。本文将介绍如何在 Vue 2 项目中引入 Axios,并…...
Linux内核初始化过程中加载TCP/IP协议栈
Linux内核初始化过程中加载TCP/IP协议栈 Linux内核初始化过程中加载TCP/IP协议栈,从start_kernel、kernel_init、do_initcalls、inet_init,找出Linux内核初始化TCP/IP的入口位置,即为inet_init函数。 Linux内核启动过程 之前的实验中我们设…...
Mysql树形结构表-查询所有子集数据
表结构,这里只是个例子,所有的树形结构表均可用: CREATE TABLE zhkt_course_chapter (id bigint NOT NULL COMMENT 唯一id,course_id bigint NOT NULL COMMENT 所属课程id,name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general…...
Vue 3 Composition API进阶指南
在上一篇文章中,我们介绍了Vue 3的Composition API基础,包括如何使用setup函数、ref和reactive来创建响应式数据,以及使用watchEffect来监控数据变化。本文将继续深入探讨Composition API的高级用法,帮助你更好地理解和利用Vue 3的…...
C++学习,多继承
多继承,一个子类可以有多个父类,它继承了多个父类的特性。这种机制提供了强大的灵活性,但也带来了复杂性,特别是当涉及到基类中的同名成员(包括成员函数和变量)时。 C 类从多个类继承成员,语法如…...
苹果研究人员提出了一种新颖的AI算法来优化字节级表示以自动语音识别(ASR),并将其与UTF-8表示进行比较
端到端(E2E)神经网络已成为多语言自动语音识别(ASR)的灵活且准确的模型。然而,随着支持的语言数量增加,尤其是像中文、日语、韩语(CJK)这样大字符集的语言,输出层的大小显…...
2024年重磅报告!国内AI大模型产业飞速发展!
伴随人工智能技术的加速演进,AI 大模型已成为全球科技竞争的新高地、未来产业的新赛道、经济发展的新引擎,发展潜力大、应用前景广。近年来,我国高度重视人工智能的发展,将其上升为国家战略,出台一系列扶持政策和规划&…...
Sentinel 安装
一、下载jar包 下载地址:Releases alibaba/Sentinel GitHub 二、运行 将jar包放在任意非中文、不包含特殊字符的目录下,启动 启动命令:运行cmd 使用一下命令 java -Dserver.port8090 -Dcsp.sentinel.dashboard.serverlocalhost:8090 -D…...
大佬,简单解释下“嵌入式软件开发”和“嵌入式硬件开发”的区别
在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!首先,嵌入式硬…...
04 奇偶分家
题目: 代码: #include<iostream> using namespace std; #include<stdlib.h> #include<stdio.h>int main() {int N;cin>>N;int jicount0,oucount0;for(int i0;i<N;i){int temp;cin>>temp;if(temp%20){oucount;}else if…...
普通人秒变AI专家:李沐创业同款RAG微调实战,打造专属外卖评论大模型
8月14日晚上,李沐发布了一篇关于他创业一年的复盘文章《创业一年,人间三年》,引起了广泛关注。这篇文章中,李沐分享了从创业初期到现在的心路历程,许多读者读后都倍感激动。 创业之初,李沐的团队原本打算利用大语言模型(LLM)开发生产力工具。然而,在张一鸣的建议下,…...
微模块冷通道动环监控:智能化数据中心管理利器@卓振思众
在现代数据中心和机房管理中,微模块冷通道动环监控系统的引入,标志着对冷却和环境管理的新纪元。这一系统不仅提升了数据中心的运维效率,还对设备的安全性和稳定性提供了强有力的保障。本文将详细探讨微模块冷通道动环监控的功能和其在数据中…...
【Linux】进程调度与切换
【Linux】进程调度与切换 1. 基本概念2. 进程切换3. 进程调度3.1运行队列实现优先级设计3.2 处理效率问题3.3 活动队列与过期队列3.4 如何解决饥饿问题3.5 active指针和expired指针 1. 基本概念 竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个&am…...
SteamShutdown:智能下载管理与自动化电源控制的创新解决方案
SteamShutdown:智能下载管理与自动化电源控制的创新解决方案 【免费下载链接】SteamShutdown Automatic shutdown after Steam download(s) has finished. 项目地址: https://gitcode.com/gh_mirrors/st/SteamShutdown 在数字娱乐时代,游戏下载已…...
误删Anaconda?3步极速抢救指南
Anaconda被误删后抢救手册技术文章大纲数据恢复的基本原理解释数据恢复的底层机制,包括文件系统如何处理删除操作,以及为何被删除的数据仍有可能恢复。涵盖不同操作系统(Windows、macOS、Linux)下的差异。立即停止使用受影响磁盘强…...
【Java并发进阶】多线程案例核心解析(单例模式、阻塞队列、定时器、线程池...)
在实际开发中,多线程不仅仅是“会创建线程”那么简单。如何安全地共享数据、如何协调多个线程之间的协作、如何提升系统性能,才是工程中的重点。本文结合经典案例,深入理解:单例模式、生产者-消费者模型、阻塞队列、定时器、线程池…...
STM32G4基本定时器TIM6/TIM7入门:从CubeMX配置到1秒精准中断(附代码)
STM32G4基本定时器实战:用CubeMX配置TIM6实现精准秒闪LED 第一次拿到STM32G4开发板时,最让人兴奋的莫过于让板载LED按照自己的意愿闪烁。这看似简单的需求,却是理解微控制器定时器系统的绝佳切入点。本文将带您从零开始,通过STM32…...
ESP32-CAM远程控制实战:SunFounder AI Camera库深度解析
1. SunFounder AI Camera 库深度解析:面向嵌入式工程师的 ESP32-CAM 远程控制实践指南SunFounder AI Camera 并非传统意义上的纯图像处理模块,而是一套完整的“端-云-APP”协同控制系统。其核心价值在于将 ESP32-CAM 这一低成本、高集成度的 AI 视觉平台…...
2026知识付费SaaS平台实测对比:创客匠人综合首选,断层领跑行业榜单
随着知识付费市场规模突破千亿大关(数据来源:艾瑞咨询2026年报告),越来越多内容创作者、教培机构和企业涌入这一赛道。但在选择SaaS平台时,用户却面临诸多痛点:功能卡顿影响用户体验、获客成本高企、私域运…...
探索时序并行门控网络TPGN:RNN的崭新继任者
一种RNN的新继任者—时序并行门控网络TPGN,用于时间序列预测。 作为RNN的新继任者。 PGN通过设计的历史信息提取(HIE)层直接从以前的时间步捕获信息,并利用门通机制选择并将其与当前时间步信息融合。 这将信息传播路径减少到0(1)&…...
3步精通Calibre电子书转换:从格式兼容到专业排版指南
3步精通Calibre电子书转换:从格式兼容到专业排版指南 【免费下载链接】calibre The official source code repository for the calibre ebook manager 项目地址: https://gitcode.com/GitHub_Trending/ca/calibre 在数字阅读时代,电子书格式碎片化…...
SDMatte提示词库共建:分享与收集高效抠图的魔法指令
SDMatte提示词库共建:分享与收集高效抠图的魔法指令 1. 为什么需要提示词库 抠图是设计工作中最常见的需求之一,但每次都要从头开始描述需求既费时又低效。这就好比每次做饭都要从认识食材开始,而不是直接使用现成的菜谱。SDMatte作为智能抠…...
Java程序员6年焦虑,转行AI后薪资暴涨40%!这8个岗位,普通人也能入局?年薪百万不是梦!
文章讲述了一位Java程序员老周因对纯业务开发感到焦虑,于去年3月开始系统学习AI相关技术,并于去年7月成功跳槽至AI创业公司,薪资涨幅达40%。文章分析了2026年AI相关岗位的招聘趋势,指出AI岗位需求旺盛,但需要程序员具备…...
