创建你的第一个C# WinForms应用程序

winforms的入门实列及窗口介绍 WinForms 是一种非常流行的 Windows 应用程序开发工具。它使用事件驱动编程模型,当用户与界面交互(例如单击按钮或移动滑块)时,事件被触发并执行代码。WinForms 提供了一整套控件,包括按钮、文本框、标签、下拉菜单等等,这些控件可以轻松地帮助您创建丰富的用户界面。在开始使用 WinForms 之前,您需要安装 .NET Framework,因为 WinForms 是基于 .NET 的。 阅读详情
AI摘要

本文介绍了如何使用C#和Visual Studio创建第一个WinForms桌面应用程序,涵盖开发环境搭建、项目创建、界面设计与事件处理等核心步骤。重点讲解了控件使用、布局管理和事件驱动编程模型,帮助初学者快速掌握WinForms的基础知识,为后续学习WPF或MAUI打下坚实基础。

一、前言

C# WinForms(Windows Forms)是微软.NET Framework中的一个图形用户界面框架,用于创建功能丰富的Windows桌面应用程序。对于初学者来说,WinForms是学习C#桌面开发的最佳起点,因为它具有直观的拖拽式设计界面和简单的事件驱动编程模型。

本文将带领你从零开始创建第一个WinForms应用程序,即使你没有任何Windows桌面开发经验也能轻松上手。

二、开发环境准备

2.1 安装Visual Studio

  1. 下载并安装 Visual Studio Community(免费版本,这里推荐2022或2026,当然记得不要选择Build Tools),官方下载地址:点我
  2. 在安装时选择“.NET桌面开发”工作负载
  3. 确保包含Windows窗体设计器

2.2 创建新项目

1. 打开Visual Studio
2. 点击“创建新项目”
3. 选择“Windows窗体应用(.NET Framework)”或“Windows窗体应用”
4. 输入项目名称,如“MyFirstWinFormsApp”
5. 选择.NET版本(推荐.NET 8.0或更高版本)

三、创建第一个WinForms应用

3.1 理解项目结构

创建项目后,你会看到以下主要文件:

MyFirstWinFormsApp/
├── Program.cs          // 应用程序入口点
├── Form1.cs           // 主窗体代码文件
├── Form1.Designer.cs  // 窗体设计器自动生成的代码
└── Form1.resx         // 窗体资源文件

3.2 设计用户界面

让我们创建一个简单的应用:

  1. 打开Form1窗体设计器

    • 在解决方案资源管理器中双击Form1.cs
    • 会打开可视化设计界面
  2. 添加控件到窗体并修改:

    • 从工具箱拖拽以下控件到窗体的合适位置:(如果没工具箱,请查看附录)
      • 1个Label(标签),到左上角
      • 1个TextBox(文本框),到右上角
      • 2个Button(按钮),分别到TextBox的下面和右下角
      • 1个ListBox(列表)到Label的下面
  3. 设置控件属性:

    // 在属性窗口中设置
    - Form1.Text = "Simple Program"
    - button1.Text = "Add"
    - button2.Text = "About..."
    - label1.Text = "Notes:"
    

    这时你就会看到以下窗体(控件位置可能略有不同,但文本要对)

    • 在这里插入图片描述

3.3 编写业务逻辑

在解决方案资源管理器中右键Form1.cs,选择’查看代码’,打开代码设计,并输入如下代码:

using System.Xml.Linq;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(textBox1.Text) && !listBox1.Items.Contains(textBox1.Text))
                listBox1.Items.Add(textBox1.Text);
        }

        private void btnAbout_Click(object sender, EventArgs e)
        {
            MessageBox.Show("This is example winform program.", "About");
        }
    }
}

保存后打开窗体设计器,点击选择button1(Add),点击属性下方的在这里插入图片描述
然后在Click一项选择btnAdd_Click;同样的操作,选择button(About),选择那个小闪电,然后在Click一项选择btnAbout_Click,然后就大功告成了!接下来在顶部选择Release和Any CPU,然后按F5,Visual Studio会开始生成解决方案并运行,过一会你会看到:

在这里插入图片描述
那么恭喜你,你已经编译并运行成功了!

四、核心概念详解

4.1 事件驱动编程

WinForms采用事件驱动模型:

// 常见事件示例
private void Form1_Load(object sender, EventArgs e) { }  // 窗体加载
private void TextBox_TextChanged(object sender, EventArgs e) { } // 文本变化
private void Button_Click(object sender, EventArgs e) { } // 按钮点击

4.2 常用控件介绍

控件用途常用属性
Label显示文本Text, Font, ForeColor
TextBox输入文本Text, Multiline, PasswordChar
Button触发操作Text, Enabled, BackColor
ListBox列表数据Text, Font

4.3 布局管理

// 使用TableLayoutPanel进行网格布局
private void InitializeLayout()
{
    TableLayoutPanel panel = new TableLayoutPanel();
    panel.ColumnCount = 3;
    panel.RowCount = 4;
    panel.Dock = DockStyle.Fill;
    
    // 添加控件到指定单元格
    panel.Controls.Add(textBox1, 0, 0);
    panel.Controls.Add(comboBox1, 1, 0);
    // ...
    
    this.Controls.Add(panel);
}

六、附录

如果Visual Studio的工具箱默认不显示,那可以点击 视图(V) —> 工具箱(X),这时候工具箱就会出现了!
在这里插入图片描述

七、总结

通过本文的学习,你已经掌握了:

  • ✅ 创建WinForms项目的基本流程
  • ✅ 使用工具箱添加和配置控件
  • ✅ 编写事件处理程序
  • ✅ 实现基本的数据验证和异常处理
  • ✅ 理解WinForms应用程序的结构

WinForms虽然是一个较老的框架,但在企业内部应用、工具软件等领域仍然广泛应用。掌握WinForms开发是学习更先进的WPF、MAUI等框架的良好基础。

WinForms零基础进阶控件教程(超实用&&详细版) 本篇为WinForms零基础进阶教程。希望能帮助大家更好地掌握这些控件的使用。在实际开发中,这些控件非常强大,可以构建出功能丰富的桌面应用程序。 阅读详情

相关推荐

使用 C# 和 WinForms 创建动态图表

这次我们将学习如何使用 C# 和 WinForms 创建动态图表。我们将使用 Chart 控件来创建图表,并使用多线程技术实现动态更新图表数据的效果。

caiii的博客 3612

Win Form基础项目(一)

WinForm 是 Windows Form 的简称,是基于 .NETFramework 平台的客户端(PC软件)开发技术,一般使用C#编程。在VS2019中,C# WinForm 编程需要创建「Windows窗体应用程序」项目。Windows 窗体应用程序是 C# 语言中的一个重要应用,也是 C# 语言最常见的应用。使用 C# 语言编写的 Windows 应用程序与 Windows 操作系统的界面类似,每个界面都是由窗体构成的,并且能通过鼠标单击、键盘输入等操作完成相应的功能。

热爱IT行业 3217

C# WinForms 拖放选择文件:让你的应用程序更酷炫!

在 C# WinForms 应用程序中,使用拖放功能选择文件是一种非常酷炫且实用的方法。本文将通过一个详细的步骤示例,教你如何在 WinForms 中实现文件拖放功能。

yangshuquan的专栏 1188

Winforms_基础控件(超实用&&详细版)

这些基础控件是构建WinForms应用程序的基石,通过它们的组合使用,开发者可以创建出功能完备、交互性强的桌面应用程序。掌握这些控件的使用方法对于WinForms开发者来说是非常重要的。另外本专栏将会持续更新,作者专栏中有已经更新完毕的C#基础教程!!!

2401_82410658的博客 2655

手把手教你新建一个winform项目(史上最全)

本文介绍如何利用visual studio新建一个winform程序

qq_34059233的博客 4万+

C# WinForms 应用程序中的多语种切换

接下来,我们将通过具体的示例来展示如何在 C# WinForms 应用程序中实现多语种切换。跟着我一起,一步步来,你会发现这一切并不难。📋。

java专栏 1322

C# WinForms 应用程序,通过系统托盘图标实现闪烁效果

经过本项目的实现,您可以将托盘图标集成到 C# WrtghminFormsgnjgbn 应用程序中,并通过定时器实现闪烁效果,提升用户的互动体验。C#WinForms应用程序,通过系统托盘图标实现闪烁效果(包含详细的完整的程序和数据)资源-优快云文库 https://download.youkuaiyun.com/download/xiaoxingkongyuxi/89879747。通过简单的代码实现,该项目为开发者提供了一个良好的基础,便于进行进一步的扩展和功能添加。在项目根目录或合适路径。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 1185

C# WinForms 下使用 LiveCharts 散点图(Scatter Chart)

接下来,我们将通过具体的示例来展示如何在C# WinForms应用程序中使用LiveCharts来绘制散点图。跟着我一起,一步步来,你会发现这一切并不难。📋。

java专栏 2103

C# CefSharp如何在Winforms应用程序中使用

最近做了一个很小的功能,在网页上面打开应用程序,用vs的debug调试,可以正常打开应用程序,可布置到iis上面却无法运行应用程序,吾百度之,说是iis权限问题,吾依理做之,可怎么折腾也不行。最后boss给了两种方案,第一,弃b/s改c/s,第二,用CefSharp把b/s网站嵌进去。b/s网站已做完,弃之可惜,吾便用了CefSharp。 以下是使用CefSharp的步骤: 1.创建一个...

weixin_30527423的博客 555

使用 CefSharp 在 C# WinForms 应用程序中嵌入 Chromium 浏览器:全面指南

假设我们需要自定义浏览器的上下文菜单,添加一些自定义项。// MainForm.cs 文件// 创建 ChromiumWebBrowser 控件// 处理 ContextMenuShowing 事件// 将控件添加到窗体// 自定义上下文菜单处理器// 移除所有默认项// 添加自定义项// 处理命令");break;");break;创建控件,指向目标 URL。处理事件,自定义上下文菜单。添加自定义菜单项并处理命令。

墨夶的博客 1455

使用C#的WinForms创建窗体应用程序

在C#中,WinForms是一种流行的桌面应用程序开发框架,它提供了一组用于创建窗体应用程序的工具和控件。本文将介绍如何使用WinForms创建一个简单的窗体应用程序,并提供相应的源代码示例。通过这些简单的步骤,你可以使用C#的WinForms创建一个基本的窗体应用程序。你可以根据需要添加更多的控件和自定义功能来满足特定的应用程序需求。事件处理程序中,当用户点击按钮时,会弹出一个消息框显示"Hello, WinForms!在这个示例中,我们创建了一个名为。的窗体类,并在构造函数中调用了。

CyberNova的博客 478

winforms教程_在本C#教程中学习如何对Winforms进行编程

winforms教程 您在C#中的第一个Winform ( Your First Winform in C# ) When you create a new project in Visual C# (or Visual Studio 2003, 2005 or 2008) and select Visual C# Project and Windows Application, you...

cumao2792的博客 944

C# WinForms中嵌入EXE程序——10个步骤带你搞定

为了与Windows API进行交互,我们需要定义一些P/Invoke声明。[DllImporttrue[DllImporttrue[DllImporttrue[DllImporttrue好了,今天的旅程就要结束了。回顾一下,我们学到了什么?如何创建和配置WinForms项目?如何添加Panel控件作为容器。如何引入必要的命名空间。

java专栏 1249

关于开发C# WinForms 应用程序的方法介绍

该窗体主要功能是从某个服务中查询数据,并将查询结果显示在一个数据表格中。控件的点击事件处理程序,但目前它们是空的,后续我们可以加入一些处理逻辑,设定一些摁键处理规则等。方法:(其中的数据库表中的参数及字段就使用para表示变量,大家可以根据实际情况自行修改)首先默认大家已经有了一个完整的项目,并且现在所需的是进行C#界面的开发设计。是否为 0,表示是否成功接收到有效的响应数据。)添加新的列,这些列描述了目标项目表中的不同参数等。中的数据行,提取各个字段的值,并将这些值填充到。,用于存储查询结果。

weixin_44979308的博客 724

C# WinForms应用程序开发与测试实践

Windows Forms是.NET Framework中用于创建桌面应用程序的用户界面框架。它提供了一系列预先构建的控件,简化了事件驱动的应用开发流程。开发者可以利用Visual Studio的设计器工具,快速拖放组件构建丰富交互的用户界面。Windows Forms广泛应用于企业级桌面应用程序的开发,它与.NET Framework紧密集成,为开发人员提供了一个稳定可靠的开发环境。C#(发音为 “See Sharp”)是一种由微软开发的面向对象的、类型安全的编程语言。

weixin_28933797的博客 572

C# WinForms记事本应用从入门到实现

本文还有配套的精品资源,点击获取 简介:本文将带领读者通过C#语言实现一个基础的WinForms记事本应用程序,适合初学者学习C#语法、事件处理和Windows应用程序设计。文章从界面设计开始,到代码实现,再到运行与调试,逐步展示如何构建一个功能完备的记事本应用。 1. C#基础语法和事件处理 1.1 C#基础语法概述 C#(发音为 "C Sharp")是...

weixin_42509513的博客 1161

【C# WinForms】如何以最爽的方式创建 ContextMenu/Strip 右键菜单,不需要设计器

最近我在开发个人项目时,由于涉及到多个右键菜单的创建,在设计器里创建未免有些繁琐。今天就给大家分享一下如何以最爽的方式创建 ContextMenu/Strip 右键菜单,不需要设计器,欢迎在评论区分享您的观点及想法。顺便区分一下 ContextMenu 和 ContextMenuStrip。如果你正在使用 .NET Framework 开发 WinForms 应用程序的话,你或许会觉得 ContextMenuStrip 的样式不美观,不贴合 Windows 原生的右键菜单样式。

WHNde优快云的博客 1712

PCIE配置和地址空间

来源:https://www.jianshu.com/p/574e9a2cbc4e 每个PCIe设备,有这么一段空间,Host软件可以读取它获得该设备的一些信息,也可以通过它来配置该设备,这段空间就叫做PCIe的配置空间。不同于每个设备的其它空间,PCIe设备的配置空间是协议规定好的,哪个地方放什么内容,都是有定义的。PCI或者PCI-X时代就有配置空间的概念,那时的配置空间如下: 图6.1 整个配置空间就是一系列寄存器的集合,其中Type 0是Endpoint的配置,Type 1是Brid.

qq_28643619的博客 4060
上一篇: WinForms示例项目:使用MaterialSkin控件实现一个简易计算器
下一篇: Windows运行你的第一个仓颉语言程序
Rainy-0
博客等级 码龄2年 5粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值