基于.NET的Windows窗体编程之WinForms入门简介
2026/7/1 2:00:52 网站建设 项目流程

于.NET的Windows窗体编程,就是我们常说的WinForms编程,它一个基于.NET的UI框架,用于创建适用于 Windows 的丰富桌面客户端应用,Windows窗体开发平台支持广泛的应用开发功能,包括控件、图形、数据绑定和用户输入。对于Windows窗体编程,微软也提供了Visual Studio这一开发神器,通过Visual Studio的可视化控件拖放等功能可以轻松构建桌面应用。在Windows窗体中窗体是向用户显示信息的可视界面,通过窗体上的控件来显示信息,接收用户请求等操作,这些控件可以显示文本框、按钮、下拉框、单选按钮,甚至网页等非常丰富的内容。Windows窗体编程中的控件,可以是简单的按钮,文本框,也可以是复杂的数据列表,菜单等内容,在接下来的文章中,由浅入深,会逐一讲解。

创建Windows窗体应用

所谓“工欲善其事,必先利其器”开发Windows窗体应用程序,首先需要安装Visual Studio,它是编程开发IDE,集开发,调试,编译于一体的开发神器。主要有企业版本,专业版本,社区版本等不同版本,本文以学习分享为主,采用VS2022社区版。

打开Visual Studio,点击“创建新项目(N)”打开创建新项目向导页面。

在打开的“创建新项目”向导页面,选择“Windows窗体应用”项目模板,它包含两个模板:一个基于.NET的Windows窗体应用模板,一个是基于.NET Framework的Windows窗体应用模板。在此我们选择第一个,然后点击“下一步”,打开“配置新项目”对话框。

在“配置新项目”对话框,输入项目名称,如Okcoder.WinForms.Hello,以及项目保存位置,然后点击“下一步”,打开“其他信息”对话框。

在“其他信息”对话框中,选择应用程序目标框架,在此默认选择“.NET8.0(长期支持)”,也可以通过右侧的下拉箭头进行修改,然后点击“创建”按钮

应用程序创建成功后,在Visual Studio中,主要包含4个重要组成部分,分别如下所示:

  1. 解决方案资源管理器,所有项目文件、代码、窗体和资源都将显示在此窗口中。
  2. 属性,此窗口显示的属性设置可以根据所选项目的上下文进行配置。 例如,如果从解决方案资源管理器中选择项,则会看到与文件相关的设置。 如果在 设计器中选择对象,则会看到控件或窗体的属性。
  3. 表单设计器,这是表单的设计工具。 它是交互式的,可以从 工具箱中拖放对象。 通过选择和移动设计器中的项,你可以直观地为应用组合用户界面(UI)。
  4. 工具箱,工具箱包含可添加到表单的所有控件。 若要将控件添加到当前窗体,请双击控件或将控件拖放到窗体。

默认情况下,Visual Studio不会打开工具箱和属性窗口。 Visual Studio会记住您打开这些窗口的操作,并在以后保持打开。可以通过点击菜单栏“视图(V)”,然后“工具箱(X)”打开工具箱窗口,及“属性窗口(W)”菜单,打开属性窗口。

Form窗体

通过模板创建WinForms应用程序,会默认创建一个Form1窗体,它是System.Windows.Forms.Form的派生类,表示一个用于构建应用程序的窗口(Window)或弹出框(Dialog box)。它是窗体应用程序中的顶级容器,可以向Form中添加控件,并处理对应的事件。那么如何添加新的窗体呢?

首先在需要添加新窗体的项目上右键,在弹出的快捷菜单中选择“添加(D)”然后在弹出的子菜单中选择“窗体(Windows窗体)(F)...”,然后打开添加窗体对话框。

在打开的添加新项对话框中,会默认选择“窗体(Windows窗体)”模板,然后输入窗体"名称(N)",如“Form2”,点击“添加(A)”即可。

创建成功后,Form窗体文件主要包含3部分,如下所示:

  1. Form2.cs,主要包含构造函数,用于编写业务逻辑功能
  2. Form2.Designer.cs,当向窗体拖放控件时,会自动生成控件的构建,布局相关代码,以及用户通过属性窗口设置的属性等内容。
  3. Form2.resx,主要用于存储资源相关内容。

注意:Form2.Designer.cs及Form2.resx这两个文件一般通过VS设计器自动生成,无需要手动修改。

Form窗体常见属性与事件

在日常开发中,经常用到的Form窗体的主要属性:

  • Name,窗体的名称,在相同的namespace下,Name应该保持唯一。
  • Text,用于设置Form窗体的标题文本。
  • WindowState,用于设置窗体的初始可视状态,它是一个枚举,主要有3个选项,Normal(正常状态),Maximized(最大化),Minimized(最小化)。
  • StartPosition,窗体第一次出现时的位置。它是一个枚举,主要有5个选项,WindowsDefaultLocation(默认位置+窗体大小),Manual(手动设置的位置),CenterScreen(屏幕中心),CenterParent(父窗体的中心),WindowsDefaultBounds(默认位置+默认边界)。
  • ClientSize,窗体大小,单位为Size,包含Width,Height两个值。
  • TopMost,用于设置窗体是否永远在其他未设置此属性为true的窗体之上。

Form窗体在最常用事件,主要有以下几个:

  • Load,窗体被加载时触发,主要用于初始化窗体需要的信息。
  • FormClosing,窗体被关闭之前触发,可以用FormClosingEventArgs参数的Cancel来设置是否真的关闭窗体。如果设置Cancel为true,则取消关闭窗体。
  • FormClosed,窗体被关闭之后触发,可以用来释放资源等操作。

在Visual Studio设计器,选择Form窗体,在右下角的属性窗口中,可以直接设置对应的属性,如下所示:

事件也可以在属性窗口的,切换后事件Tab页进行双击设置。如下所示:

当通过属性窗口中设置相应的属性和事件后,会在窗体对应的Designer.cs类文件中自动生成相关代码,如下所示:

并在表单对应的.cs文件中生成对应的事件委托方法体,可以在其中编写业务逻辑,如下所示:

运行调试

在Visual Studio中,有以下几种方式可以调试启动程序:

  • 点击Visual Studio工具栏中的“开始调试”按钮(绿色实心右箭头),
  • 通过F5快捷键
  • 通过菜单栏“调试(D)”,然后在子菜单中选择“开始调试(S)”

如果只想启动程序,不需要调试,则可以通过如下方式启动:

  • 点击Visual Studio工具栏中的“开始执行(不调试)”按钮(绿色空心右箭头),
  • 通过Ctrl+F5快捷键
  • 通过菜单栏“调试(D)”,然后在子菜单中选择“开始执行(不调试)(H)”

在上述过程中,我们将窗体的标题设置为了“HelloWorld”,希望可以通过经典的HelloWorld来打开.NET Windows窗体编程的新大门。

程序运行成功后,如下所示:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询