SuperAPI AI 工具集

dotnet-winforms-basics

通用与其它

查看项目

更新于 10-16 07:23

技能介绍

用途:帮助在 .NET 8+(当前 LTS,TFM 为 net8.0-windows)上搭建与现代化 WinForms 桌面应用,重点是 SDK 风格项目格式、依赖注入与高 DPI 支持,而非 .NET Framework 旧式 WinForms。

主要能力:SDK 风格 WinForms 项目设置(OutputType 为 WinExe、UseWindowsForms 为 true、可空引用类型与隐式 using 默认开启、PackageReference 格式);使用通用 Host 构建器做依赖注入(ConfigureServices 注册服务、HttpClient 和窗体,Program.cs 通过 host.Services.GetRequiredService<MainForm>() 取窗体,窗体构造函数注入);ApplicationConfiguration.Initialize() 作为入口整合旧配置调用;高 DPI 采用 PerMonitorV2(Application.SetHighDpiMode(HighDpiMode.PerMonitorV2),需在 Initialize 之前调用,或通过 runtimeconfig.json 设置);.NET 9 的 DPI 无关设计器模式(ForceDesignerDPIUnaware)避免布局缩放损坏;深色模式通过 Application.SetColorMode(SystemColorMode.Dark/System) 开启;现代化建议包括构造函数注入、async/await 替代阻塞调用、使用 .NET Upgrade Assistant(dotnet tool install -g upgrade-assistant,再 analyze / upgrade)以及现代 C# 特性;还列出避免使用已弃用 API、勿假设深色模式可用于生产等智能体陷阱。

适用场景:快速原型、内部企业业务线表单与数据录入/CRUD、DataGridView 大数据表格、Windows 专用小工具、既有 .NET Framework WinForms 的现代化。不适合新客户面向应用、复杂自定义 UI、跨平台、无障碍优先和触控优先界面。

限制:仅支持 Windows;深色模式在 .NET 9 为实验性,目标在 .NET 11 定稿,可能不覆盖第三方与自绘控件,且需 Windows 10 1809+;不涵盖 .NET Framework 旧式模式、迁移指南、桌面测试、通用 Native AOT 与 UI 框架选型(引用了其他相关技能)。前提为 .NET 8.0+ 与 Windows 桌面工作负载、VS 2022+。具体版本与 API 行为以官方资料为准。