【保姆级喂饭教程】Visual Studio 2026 中创建基于 c# 的 WinForms 入门教程

目录

前言

最近需要开发一个小工具,选择了基于 c# 的 WinForms,简单记录一下

【技术变迁脉络】2026最新桌面应用开发技术汇总

【保姆级喂饭教程】Visual Studio 2026 企业版安装教程

一、创建项目

双击Visual Studio 2026图标

创建新项目

上面筛选框分别选择:C#、Windows、桌面,这样找的快一点

下面选择Windows 窗体应用(.NET Framework),注意不是前一个,那个是创建项目模板

点击下一步

修改项目名称,选择项目位置,修改解决方案名称

这里注意,解决方案是项目名称的上级,看下面创建路径就可以看出来

测试项目,工具项目可以勾选将解决方案和项目放在同一目录中

框架原来是4.7.2,给他改成4.x下最高版本4.8

点击创建

创建完成后如下,左边是窗体效果,右边是文件目录

  • Properties:存储项目的程序集元数据、静态资源和自定义配置项的核心文件夹。
  • 引用:管理项目运行所需的所有外部程序集、系统库或第三方依赖项的节点。
  • App.config:以XML格式存储应用程序运行时可修改的配置项(如数据库连接字符串)的配置文件。
  • Form1.cs :承载Form1窗体相关代码的主文件,包含开发者编写的业务逻辑与事件处理。
    • Form1:Form1.cs对应的窗体类(分部类),是可视化设计和逻辑编写的核心载体。
    • Form1.Designer.cs:由VS设计器自动生成,用于定义Form1窗体及控件外观、布局的代码文件。
  • Program.cs :包含程序入口方法Main(),负责启动应用程序并加载主窗体的核心文件。

二、创建应用程序

WinForms通过拖拽式创建元件,目前没有工具箱,点击视图,选择工具箱,快捷键Ctrl+Alt+X

先点击右上角的图钉固定到界面,然后打开公共控件选择一个按钮,这块汉化做的不是很完全

放置一个按钮,有三种方式:

双击Button:默认放在左上角

单机Button拾取,点击空白窗体放置

按住Button拖动到空白窗体

点击视图,选择属性窗口,快捷键F4

点击button2,属性窗口就会变成对应元件的,修改Text文本,原来式button2,改成点击,然后回车确定

往上找到设计部分,修改name属性为button2Click,改了明确一点

拖动一个label用于接收文本,在属性窗口找到设计,把name改为label1HelloWorld

双击之前修改过的点击按钮

会自动创建一个button2Click_Click方法,写入label1HelloWorld.Text = "Hello World!";

还有重要的,点击周围的定位点可以改变拖动大小,点击元件拖动可以改变位置


三、运行应用程序

点击上方的启动

界面如下,点击点击按钮

Hello World!

关掉窗体和点击停止都可以结束调试


四、发布应用程序

1. 仅生成可执行文件(适用于本机运行或简单分发)

下面提示生成成功

生成到了这里,工作目录/解决方案目录/项目目录/bin/Debug

双击运行一下,ok

正式生成的时候这里改成Release

再生成一个,只是最后的生成目录不同

总结(后续补充实际执行)

在 Visual Studio(VS)中将项目生成 .exe 可执行文件,主要分为两类需求:仅生成可执行文件 和 打包为安装程序(含 .exe 安装包)。根据当前时间(2026年3月)和主流开发环境(如 VS2022),推荐以下方法:

一、仅生成可执行文件(适用于本机运行或简单分发)

适用于在自己电脑上运行,或复制到其他电脑测试(前提是目标电脑已安装对应运行时)。

  • 步骤:
    1. 打开项目,在顶部工具栏将 "解决方案配置" 从 Debug 改为 Release
    2. 点击菜单栏 生成 → 生成解决方案(或按 Ctrl+Shift+B)。
    3. 编译成功后,.exe 文件位于:
      • C/ WPF / WinForms 项目:项目路径\bin\Release\net6.0-windows\win-x64\(若使用 .NET 6+)
      • C++ 项目:项目路径\Release\
    4. 直接运行该 .exe 文件即可。

✅ 优点:快速、无需额外工具

⚠️ 注意:若目标电脑未安装 .NET 运行时,可能无法运行(除非启用"自包含发布",见下文)


二、生成独立单文件 .exe(无需安装运行时)

适用于分发给无 .NET 环境的用户,生成一个包含所有依赖的独立 .exe 文件。

  • 前提:项目需使用 .NET 6 或更高版本(如 .NET 8)。
  • 配置方法:
    1. 右键项目 → 属性 → 应用程序 → 确保目标框架为 .NET 6.0 或更高。

    2. 切换到 生成 选项卡 → 设置 运行时标识符(RID) 为 win-x64win-x86

    3. 编辑 .csproj 文件,在 <PropertyGroup> 中添加:

      xml 复制代码
      <PublishSingleFile>true</PublishSingleFile>
      <PublishTrimmed>true</PublishTrimmed>
      <SelfContained>true</SelfContained>
    4. 右键项目 → 发布 → 选择 文件夹 → 发布到本地路径(如 Publish 文件夹)。

    5. 发布完成后,在输出目录中找到 单个 .exe 文件,可直接分发。

✅ 优点:单文件、无需安装 .NET、跨机器运行

🔗 官方文档:.NET 单文件发布


三、打包为安装程序(生成 .exe + .msi 安装包)

适用于正式发布给用户,提供安装向导、快捷方式、卸载功能等。

  • 步骤:
    1. 安装扩展:
      VS → 扩展 → 管理扩展 → 搜索 "Microsoft Visual Studio Installer Projects" → 安装 → 重启 VS。
    2. 添加 Setup 项目:
      右键解决方案 → 添加 → 新建项目 → 搜索 "Setup Project" → 创建。
    3. 配置安装内容:
      • 在 Setup 项目中,右键 Application Folder → Add → Project Output → 选择主项目 → Primary Output。
      • 右键 Primary Output → Create Shortcut → 将快捷方式拖到 User's Desktop 和 User's Programs Menu。
    4. 生成安装包:
      右键 Setup 项目 → 生成 → 安装包(.exe.msi)生成于 Setup 项目的 Release 目录。

✅ 优点:专业分发、支持自动安装/卸载

⚠️ 注意:该扩展在 VS2022 中需手动安装,官方下载地址


四、常见问题提醒

  • 找不到 .exe 文件:检查是否在 Release 模式下生成,路径通常是 bin\Release\
  • 生成失败:确保项目能正常编译,先在 Debug 模式下测试运行。
  • 依赖缺失:若使用第三方库(如 Qt、OpenCV),需将对应 .dll.exe 放在同一目录,或使用工具(如 windeployqt)自动收集。

如需进一步操作指导,可参考以下资源:

参考文献

教程:使用 C# 在 Visual Studio 中创建 Windows 窗体应用


喜欢的点个关注吧><!祝你永无bug~

txt 复制代码
/*
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            佛祖保佑       永无BUG
*/
相关推荐
缺点内向1 小时前
C#实战:使用Spire.Doc for .NET 获取并替换Word文档中的字体
c#·自动化·word·.net
bugcome_com1 小时前
【C#进阶】索引器(Indexer)全解析:基础、实战、优化与多场景应用
c#
阿蒙Amon1 小时前
C#常用类库-详解Autofac
开发语言·c#
格林威1 小时前
工业相机图像高速存储(C#版):内存映射文件方法,附堡盟相机C#实战代码!
开发语言·人工智能·数码相机·计算机视觉·c#·工业相机·堡盟相机
2301_805962931 小时前
arduino IDE系列教程3:文件管理-侧边栏
ide
格林威2 小时前
工业相机图像高速存储(C#版):先存内存,后批量转存方法,附堡盟 (Baumer) 相机实战代码!
开发语言·人工智能·数码相机·opencv·计算机视觉·c#·halcon
贪嘴2 小时前
Visual Studio 2026 不支持 .net upgrade assistant 升级助手 安装失败怎么办
ide·.net·visual studio
baivfhpwxf20232 小时前
WPF Binding 绑定 超详细详解
c#·wpf
时光追逐者2 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 68 期(2026年3.01-3.08)
c#·.net·.netcore