教程:使用 .NET 创建 Windows 窗体应用
本简短教程将介绍如何使用 Visual Studio 创建新的 Windows 窗体应用。 生成初始应用后,你将了解如何添加控件以及如何处理事件。 学完本教程后,你将拥有一个可将名称添加到列表框的简单应用。
本教程介绍如何执行下列操作:
- 创建新的 Windows 窗体应用
- 将控件添加到窗体
- 处理控制事件以提供应用功能
- 运行应用
先决条件
提示
使用 Visual Studio 2022 版本 17.4 或更高版本并安装 .NET 7 和 .NET 6 的各个组件。 在 Visual Studio 2022 版本 17.4 中增加了对 .NET 7 的支持。
创建 Windows 窗体应用程序
创建新应用的第一步是打开 Visual Studio 并通过模板生成应用。
打开 Visual Studio。
选择“创建新项目”。
在“搜索模板”框中,键入“winforms”,然后等待搜索结果显示。
在“代码语言”下拉列表中,选择“C#”或“Visual Basic”。
在模板列表中,选择“Windows 窗体应用”,然后单击“下一步”。
重要
请勿选择“Windows 窗体应用 (.NET Framework)”模板。
下图显示了 C# 和 Visual Basic .NET 项目模板。 如果应用了“代码语言”筛选器,将看到相应的模板。
在“配置新项目”窗口中,将“项目名称”设置为“Names”,然后单击“下一步”。
还可以通过调整“位置”路径将项目保存到其他文件夹。
最后,在“其他信息”窗口中,针对“Framework”设置选择“.NET 6.0 (长期支持)”,然后单击“创建”。
打开 Visual Studio。
选择“创建新项目”。
在“搜索模板”框中,键入“winforms”,然后等待搜索结果显示。
在“代码语言”下拉列表中,选择“C#”或“Visual Basic”。
在模板列表中,选择“Windows 窗体应用”,然后单击“下一步”。
重要
请勿选择“Windows 窗体应用 (.NET Framework)”模板。
下图显示了 C# 和 Visual Basic .NET 项目模板。 如果应用了“代码语言”筛选器,将看到相应的模板。
在“配置新项目”窗口中,将“项目名称”设置为“Names”,然后单击“下一步”。
还可以通过调整“位置”路径将项目保存到其他文件夹。
最后,在“其他信息”窗口中,针对“Framework”设置选择“.NET 7.0 (标准支持)”,然后单击“创建”。
生成应用后,Visual Studio 应会打开默认窗体 Form1 的设计器窗格。 如果看不到窗体设计器,请在“解决方案资源管理器”窗格中双击该窗体以打开设计器窗口。
Visual Studio 的重要部分
Visual Studio 中对 Windows 窗体的支持包含四个在创建应用时你将与之交互的重要组件:
“解决方案资源管理器”
所有项目文件、代码、窗体、资源都将显示在此窗格中。
属性
此窗格显示可以基于所选项进行配置的属性设置。 例如,如果从“解决方案资源管理器”中选择一个项,你会看到与该文件相关的属性设置。 如果在“设计器”中选择一个对象,你会看到控件或窗体的设置。
窗体设计器
这是窗体的设计器。 它是交互式的,可以从“工具箱”拖放对象。 通过在设计器中选择和移动项,可以直观地为应用构建用户界面 (UI)。
工具箱
工具箱包含可添加到窗体的所有控件。 若要将控件添加到当前窗体,请双击控件或拖放控件。
提示
如果工具箱不可见,则可以通过“查看”>“工具箱”菜单项来显示它。
向窗体添加控件
当 Form1 窗体设计器处于打开状态时,使用“工具箱”窗格将以下控件添加到窗体:
- Label
- Button
- Listbox
- 文本框
可以根据以下设置定位控件并设置其大小。 以直观方式移动这些控件以匹配下面的屏幕截图,或者单击每个控件并在“属性”窗格中配置设置。 还可以单击窗体标题区域来选择窗体:
Object | 设置 | “值” |
---|---|---|
表单 | 文本 | Names |
大小 | 268, 180 |
|
Label | 位置 | 12, 9 |
文本 | Names |
|
Listbox | 名称 | lstNames |
位置 | 12, 27 |
|
大小 | 120, 94 |
|
文本框 | 名称 | txtName |
位置 | 138, 26 |
|
大小 | 100, 23 |
|
Button | 名称 | btnAdd |
位置 | 138, 55 |
|
大小 | 100, 23 |
|
文本 | Add Name |
设计器中应显示类似于以下内容的窗体:
处理事件
现在,窗体已布置好所有控件,你需要处理控件的事件以响应用户输入。 在窗体设计器仍处于打开状态下,请执行以下步骤:
选择窗体上的按钮控件。
在“属性”窗格中,单击事件图标 以列出按钮的事件。
找到“单击”事件,然后双击它以生成事件处理程序。
此操作将以下代码添加到窗体:
private void btnAdd_Click(object sender, EventArgs e) { }
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click End Sub
将放入此处理程序的代码会将
txtName
文本框控件指定的名称添加到lstNames
列表框控件中。 但是,若要添加名称,需要满足两个条件:提供的名称不能为空,且该名称不能已存在。以下代码演示如何将名称添加到
lstNames
控件:private void btnAdd_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(txtName.Text) && !lstNames.Items.Contains(txtName.Text)) lstNames.Items.Add(txtName.Text); }
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click If Not String.IsNullOrWhiteSpace(txtName.Text) And Not lstNames.Items.Contains(txtName.Text) Then lstNames.Items.Add(txtName.Text) End If End Sub
运行应用
现在已对事件进行编码,可以通过按 F5 键或从菜单中选择“调试”>“开始调试”来运行应用。 随即显示窗体,可以在文本框中输入名称,然后通过单击按钮添加该名称。