C# Winform无边框窗体实现界面拖动

C# Winform无边框窗体实现界面拖动

csharp 复制代码
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
public const int VM_NCLBUTTONDOWN = 0xA1; // 定义鼠标左键按下
public const int HTCAPTION = 2;
//调用方法
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
    // 为当前应用程序释放鼠标捕获
    ReleaseCapture();
    // 发送消息 让系统误以为在标题栏上按下鼠标
    SendMessage((IntPtr)this.Handle, VM_NCLBUTTONDOWN, HTCAPTION, 0);
}
相关推荐
多弗朗皮卡丘32 分钟前
C++的IO流
开发语言·c++·io流·文件io流
骑着蜗牛撵大象32744 分钟前
AI Agent 工程化开发实战(三):用 StateGraph 给智能体搭一条可回放的状态流水线
java·开发语言·jvm·ai·状态管理·langgraph·stategraph
itmigrate1 小时前
Rust 里的所有权误区:不是不写 clone 就叫高性能
开发语言·后端·rust
Brilliantwxx1 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
摇滚侠1 小时前
《On Java 中文版 基础卷》阅读笔记 初始化和清理 08
java·开发语言·笔记
xiangyun612 小时前
C++ 手撕 shared_ptr:引用计数与控制块到底长什么样?
开发语言·c++·算法·面试·stl
XiYang-DING2 小时前
P4009.和为K的子数组个数 & P5522.异或和为 k 的子数组个数
java·开发语言
jaysee-sjc2 小时前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
w_zero_one2 小时前
算法--桶思想
java·开发语言·算法
一个游离的指针2 小时前
ES6新特性:let、const、块级作用域
开发语言·javascript·es6