一个极致轻量的 Windows 桌面待办事项工具。 半透明磨砂风格,常驻系统托盘,悬浮于桌面之上,始终清晰可见。
- 零干扰界面:无边框半透明设计,悬浮于桌面,不遮挡工作
- 快速操作:双击空白处添加,悬停条目显示编辑/删除按钮,拖拽重新排序
- 无字数限制:支持任意长度内容,自动按窗口宽度换行显示
- 自由缩放:拖拽右下角可自由调整窗口宽高,无纵横比锁定
- 边界保护:拖动窗口或缩放时不会超出屏幕工作区范围,支持多显示器
- 细腻滚动条:7px 极细滚动条,仅在鼠标悬停或滚轮操作时自动淡入显示
- 空列表提示:列表为空时显示「暂无代办」占位文字
- 数据持久化:自动保存至本地 Markdown 文件,可用文本编辑器直接查看
- 开机自启:可在系统托盘菜单中一键设置,无需管理员权限
- 系统托盘:最小化到托盘后台运行,支持显示/隐藏、置顶切换、开机启动、退出
default.mp4
| 操作 | 方法 |
|---|---|
| 添加待办 | 双击列表空白区域 → 输入内容 → 回车确认 |
| 取消添加 | 按 Esc 键 |
| 编辑待办 | 双击某条文字 → 修改 → 回车确认 |
| 删除待办 | 鼠标悬停在条目上 → 点击右侧 ✕ 按钮 |
| 拖拽排序 | 鼠标按住条目不放 → 拖拽至目标位置 → 松开 |
| 移动窗口 | 鼠标拖拽标题栏 |
| 调整大小 | 鼠标拖拽右下角手柄(宽高独立调整) |
| 置顶 / 取消 | 标题栏 📌 按钮,或托盘右键菜单 |
| 置顶穿透 | 启用置顶后,鼠标点击穿透内容区,仅标题栏保留交互 |
| 显示 / 隐藏 | 双击托盘图标,或托盘右键菜单 |
- 操作系统:Windows 10 / 11(64 位)
| 版本 | 文件大小 | 运行依赖 |
|---|---|---|
| SelfContained(自包含版) | 170.9 MB | 无,下载即用 |
| FrameworkDependent(精简版) | 1.24 MB | 需预装 .NET 8 Desktop Runtime |
待办事项以 Markdown 格式自动保存至:
%AppData%\PinToDesk\todos.md
格式示例:
- 完成周报
- 买牛奶
- 回复邮件可直接用任意文本编辑器查看和手动编辑。
在系统托盘图标上右键 → 勾选「开机启动」即可。
注意:开机启动路径基于当前
.exe文件的实际位置。若移动软件文件,需重新勾选以更新路径。
# 开发调试
dotnet build
# 发布(自包含单文件,无依赖)
dotnet publish PinToDesk.csproj -c Release -r win-x64 --self-contained true ^
-p:PublishSingleFile=true -p:PublishReadyToRun=true ^
-p:IncludeNativeLibrariesForSelfExtract=true ^
-o "Publish/SelfContained"
# 发布(框架依赖单文件,体积极小)
dotnet publish PinToDesk.csproj -c Release -r win-x64 --self-contained false ^
-p:PublishSingleFile=true ^
-o "Publish/FrameworkDependent"- 技术栈:C# / WPF / .NET 8
- 窗口保持黄金比例(1:1.3),无边框设计
- 标题栏按钮(置顶、最小化、关闭)悬停时显示,默认隐藏
- 显示/隐藏逻辑优化:根据窗口当前状态动态切换
- 移除独立输入框,改为双击空白处呼出内联输入框,回车确认,Esc 取消
- 优化滚动条 UI,使用更窄的自定义滚动条
- 优化条目间距,增加圆点标识符,全面使用圆角设计
- 置顶模式:启用时鼠标点击穿透内容区,仅标题栏保留交互
- 右下角调整手柄显示逻辑与标题栏按钮一致
- 修复悬停动效:仅当前条目响应,其他条目不变化
- 系统托盘新增「置顶」/「取消置顶」选项
- 「显示」/「隐藏」拆分为两个独立按钮,根据窗口状态切换可见性
- 编辑功能改为弹窗形式,弹窗风格与主窗口一致
- 修复连续删除时误触发双击添加的问题
- 修复按钮显示区域判定(悬停在条目附近才显示,而非整个列表)
- 软件界面标题改为「TodoList」
- 滚动条:自动隐藏,鼠标悬停或滚轮操作时淡入显示
- 取消所有输入字数限制,显示时按窗口宽度自动换行
- 空列表时显示「暂无代办」占位提示
- 修复自定义 ScrollViewer 中 PART_ScrollContentPresenter 命名问题(修复键盘/滚轮失效)
- 滚动条宽度精调为 7px,并修复 WPF 系统默认 MinWidth 限制
- 取消窗口纵横比锁定,支持宽高完全独立调整
- 窗口边界限制:拖动和缩放均不可超出当前屏幕工作区,支持多显示器智能切换
- 给系统托盘加上ico高清图标
- Enter/Esc只用作输入框。
- 键盘功能在双击编辑事项之后,会在当前条目上出现一个虚线框。这是多余的,需要移除。检查其他的操作有没有相同逻辑。
- 关闭按钮和最小化按钮功能重复,只保留关闭按钮,关闭后停留在系统托盘就够了
- 背景透明度调整:主窗口背景不透明度修改为 40%(
#66FFFFFF),让内容背景更显轻量。 - 置顶切换控制修复:修复了置顶取消失效的 bug,现在可以通过置顶按钮(
📍/📌)真正切换Topmost状态。 - 完全解耦的系统级鼠标穿透:新增独立的鼠标穿透切换按钮(
⊙/◉),穿透状态与置顶状态完全独立。 - 通过定时器轮询与高精度 DPI 物理坐标换算实现“选择性穿透”:当鼠标在“置顶/穿透/关闭”三个按钮上时允许交互与 hover,在其余任意位置(包括列表 and 标题栏背景)点击可直接穿透到下层其他应用或桌面。
- 托盘右键菜单同步新增“鼠标穿透”控制项,支持与界面双向状态同步。
- 双击任意位置提交输入:在内联输入框展开输入时,双击除三个功能按钮和输入框本身(保留双击选词)外的窗口任意区域,皆可自动提交并完成保存。
- 优化项目结构:重构目录布局,将源码文件移动至根目录,并移除多余的构建输出文件夹,自包含版本现已实现完美的单文件打包发布。
- 软件与托盘图标升级:将全新设计的含有多分辨率(包括 256px 等高分尺寸)图标统一用作系统托盘图标以及编译生成的 exe 软件图标。
- 托盘悬停提示:鼠标悬停在系统托盘图标上时,显示“PTD + 版本号”。
- 托盘交互优化:鼠标左键单击托盘图标时显示并激活窗口(无论是否置顶、穿透或隐藏),左键双击时隐藏窗口。