winforms-standard-development

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

以直接、常规、最小完整闭环的方式创建或修改 Windows WinForms(Windows Forms)桌面应用,强制遵循可视化设计器、控件命名规范、Anchor/Dock 相对布局、partial class 职责边界、事件驱动解耦、UI 线程异步与全局异常处理七条工程规范。用户要求开发 WinForms 程序、窗体、用户控件、对话框、控件、事件处理、数据绑定、文件操作或桌面端业务功能,或修改 .cs、Form.Designer.cs、Service/Manager 业务层文件时使用。不要用于 WPF、WinUI、MAUI、Avalonia、Web 开发、仅做代码审查或架构方案、仅写测试的任务。

一句话选型结论

按资料字段整理

winforms-standard-development是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_bfd4c9ec/winforms-standard-development
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_bfd4c9ec仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791736380
正文体量7.4 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
winforms-standard-development当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

7.4 KB
模型实际读到的说明书原文,来自技能仓库

WinForms Standard Development

执行原则

  • 先读取最近的解决方案、项目文件(.csproj)、Program.cs、目标窗体及其 .Designer.cs,再直接实施。
  • 沿用现有 .NET 版本(.NET Framework / .NET Core+)、命名空间、分层方式、数据访问方案和目录结构,不为统一偏好迁移架构。
  • 完成用户要求的最小桌面端闭环,包括界面、控件、事件、业务服务和必要的持久化;不添加无关功能。
  • 根据现有代码和常见约定补全低风险细节。仅在业务口径、数据覆盖、系统权限、外部发送或发布策略不明确且会实质改变结果时提问。
  • 采用最小差异修改,保留用户已有改动,不格式化、改名或重构无关代码。

UI 构建与可视化设计器

  • 窗体界面优先采用 Visual Studio 拖拽式设计器构建,控件生成、命名、位置与基础样式统一交由 Form.Designer.cs 管理,方便后期修改。
  • 禁止在业务代码中手写 new Label()、new Button()、new TextBox()、CreateLabel()、BuildXxxControl() 等控件实例化代码;动态创建仅限确需运行时按数据量生成的场景,并集中封装。
  • 不直接手工编辑 Form.Designer.cs 中设计器生成的 InitializeComponent() 内容;需要调整布局、命名或样式时回到设计器操作。
  • 为输入、加载、空状态、错误提示和重复提交提供需求所需的最小处理。

控件命名规范

  • 在设计器拖入控件后立即改用「前缀 + 业务含义」命名,如 btnSubmit、lblStatus、txtUserName;禁止保留 button1、label2、textBox3 等默认名。
  • 控件前缀遵循 WinForms 惯例(详见 references/naming-conventions.md),业务含义使用清晰的名词短语,保持事件绑定与代码逻辑可读。
  • 为事件处理器自动使用 控件名_事件名 命名(如 btnSave_Click);重命名控件后同步设计器生成的字段与事件绑定。
  • 完整前缀对照表与反例见 references/naming-conventions.md。

布局与自适应

  • 优先使用控件的 Anchor(锚定)与 Dock(停靠)属性进行相对布局,保证不同分辨率与窗口拉伸下的自适应。
  • 避免用绝对坐标 Location 与固定 Size 硬编码控件位置;确需像素级控制时给出理由并集中管理。
  • 容器型布局(TableLayoutPanel、FlowLayoutPanel、SplitContainer、Panel)用于复杂窗体的分区与自适应;简单窗体直接使用 Anchor/Dock。
  • 使用布局控件时在初始化代码中明确行列比例、边距与停靠方式,保证缩放行为一致。

partial class 职责边界

  • 严守 WinForms 局部类机制:Form.Designer.cs 仅存放设计器生成的 UI 初始化代码(字段声明 + InitializeComponent()),禁止手动修改。
  • 所有业务逻辑、事件处理方法、自定义变量与字段统一写在 Form.cs 中,不侵入 Designer 文件。
  • 保持 InitializeComponent() 是 Designer 文件唯一入口,业务代码不得在其中追加逻辑。
  • 跨文件协作时明确每个 partial 文件的单一职责,避免业务状态散落到设计器文件。

事件驱动与逻辑解耦

  • UI 层事件处理程序(如 btnSave_Click)保持极度精简:仅做参数校验、控件取值与调用业务方法,不做复杂数据库操作或耗时逻辑。
  • 将业务逻辑抽离到独立的 Service 或 Manager 类(如 UserService、OrderManager),UI 只负责交互与展示。
  • 事件处理器中先校验输入(必填、格式、范围),校验失败给出明确提示并提前返回。
  • 业务方法返回结果或抛出结构化异常,由 UI 层统一转换为用户提示,不在事件处理器内堆叠 try/catch 与业务细节。

异步与 UI 线程

  • 任何耗时操作(网络请求、大文件读写、复杂计算、数据库访问)必须使用 async/await 或 Task.Run 处理,严禁在 UI 线程使用 Thread.Sleep() 或同步阻塞方法(.Wait()、.Result、Thread.Join() 等)。
  • 使用 await 后天然回到 UI 线程更新控件;在后台任务中更新 UI 时使用 Invoke/BeginInvoke 或 Control.Invoke 封送回 UI 线程。
  • 防止异步事件重复触发:进入时禁用按钮或加 _isBusy 守卫,完成后恢复。
  • 长时间任务优先使用 BackgroundWorker、IProgress<T> + Progress<T> 或 async void 事件处理器(捕获全部异常)上报进度,避免界面假死。
  • 详见 references/code-examples.md 的异步与线程示例。

异常处理

  • 在应用入口 Program.cs 全局捕获未处理异常:注册 Application.ThreadException 与 AppDomain.CurrentDomain.UnhandledException,记录日志并给出友好提示,防止程序无故崩溃。
  • 业务层捕获异常后使用友好 UI 提示(MessageBox 或项目统一提示组件)代替直接抛出底层错误堆栈。
  • 保留 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException) 确保 WinForms 异常路由到 ThreadException。
  • 捕获异常时记录完整堆栈用于排查,但面向用户只展示可理解的错误信息;不吞异常、不空 catch。
  • 详见 references/code-examples.md 的全局异常处理模板。

明确排除

  • 不新增或修改单元测试、UI 自动化测试、测试数据、Mock、快照和覆盖率配置,除非用户明确要求。
  • 不主动运行完整测试套件,不创建演示窗体、示例数据、设计文档、README 或占位项。
  • 不为简单功能新增无需求的抽象层、框架、事件总线、缓存、埋点、插件系统或未来预留。
  • 不使用硬编码路径、吞异常、跨线程强行更新控件或绕过权限来换取表面完成。
  • 不擅自提交、推送、发布、打包、签名、安装或修改用户真实数据。

完成检查

  • 确认所有控件由设计器管理且命名规范,Form.Designer.cs 未被手改,业务逻辑集中在 Form.cs 与 Service/Manager。
  • 确认耗时操作已异步化、异常已全局捕获、事件处理器保持精简且输入有校验。
  • 使用项目现有构建入口(MSBuild / dotnet build)对受影响项目做一次轻量构建检查,不自动修复格式化与无关全仓检查。
  • 只修复本次修改引入的问题;发现已有无关构建问题时停止扩大修改,并在交付中注明。
  • 最终只报告实现摘要、关键文件、检查结果和必要的遗留问题。

Resources

  • references/naming-conventions.md — WinForms 控件前缀速查表、命名反例与正例。
  • references/code-examples.md — partial class 边界、事件解耦、异步线程与全局异常处理的代码模板。

常见问题

5 问
答案由本站依据条目字段整理
winforms-standard-development怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_bfd4c9ec/winforms-standard-development。安装方式为未标注。装完刷新技能列表或重开客户端。

winforms-standard-development支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

winforms-standard-development权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

winforms-standard-development收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

winforms-standard-development用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。