本教程介绍如何使用 Visual Studio 创建 Windows 窗体应用。 通过使用 Visual Studio,可以向窗体添加控件并处理事件。 在本教程结束时,你有一个简单的应用,用于向列表框添加名称。
在本教程中,你将:
- 创建一个新的 Windows 窗体应用程序。
- 向窗体添加控件。
- 处理控制事件以提供应用功能。
- 运行应用。
先决条件
创建 Windows 窗体应用
创建新应用的第一步是打开 Visual Studio 并从模板生成应用。
打开 Visual Studio。
选择 “创建新项目”。
在 “搜索模板 ”框中,键入 winforms,并等待搜索结果显示。
在 代码语言 下拉列表中,选择 C# 或 Visual Basic。
在模板列表中,选择 Windows 窗体应用 ,然后选择“ 下一步”。
重要
请勿选择 Windows 窗体应用(.NET Framework) 模板。
下图显示了 C# 和 Visual Basic .NET 项目模板。 如果应用了代码语言筛选器,则会列出相应的模板。
在 “配置新项目 ”窗口中,将 项目名称 设置为 “名称 ”,然后选择“ 下一步”。
还可以通过调整 位置 路径将项目保存到其他文件夹。
最后,在“其他信息”窗口中,选择 .NET 10.0(长期支持) 作为 框架 设置,然后选择创建。
Visual Studio 生成应用后,它将打开默认窗体 Form1 的设计器窗口。 如果窗体设计器不可见,请双击 “解决方案资源管理器” 窗口中的窗体以打开设计器窗口。
启用工具箱和属性窗口
默认情况下,Visual Studio 不会打开工具箱和属性窗口。 Visual Studio 确实记住,你打开了这些窗口,并在将来保持打开状态。
打开窗口:
- 选择 “视图>工具箱” 菜单项。
- 选择 “视图>属性窗口” 菜单项。
Visual Studio 的重要部分
在 Visual Studio 中对 Windows 窗体的支持有四个重要组件,在创建应用时与之交互:
解决方案资源管理器
所有项目文件、代码、窗体和资源都将显示在此窗口中。
属性
此窗口显示的属性设置可以根据所选项目的上下文进行配置。 例如,如果从 解决方案资源管理器中选择某个项,则会看到与文件相关的设置。 如果在 设计器中选择对象,则会看到控件或窗体的属性。
表单设计器
这是表单的设计工具。 它是交互式的,可以从 工具箱中拖放对象。 通过选择和移动设计器中的项,你可以直观地为应用组合用户界面(UI)。
工具箱
工具箱包含可添加到表单的所有控件。 若要将控件添加到当前窗体,请双击控件或将控件拖放到窗体。
向窗体添加控件
打开 Form1 窗体设计器后,使用 “工具箱” 窗口将以下控件从工具箱中拖动并将它们拖放到窗体中,从而将控件添加到窗体中:
- 按钮
- 标签
- ListBox
- 文本框
根据下图定位和调整控件的大小:
可以使用鼠标移动控件并调整控件大小以匹配上一个图像,也可以使用下表配置每个控件。 若要配置控件,请在设计器中选择它,然后在 “属性” 窗口中设置相应的设置。 配置窗体时,请选择窗体的标题栏。
| 物体 | 设置 | 价值 |
|---|---|---|
| 标签 | 位置 | 12, 9 |
| 文本 | Names |
|
| ListBox | 名称 | lstNames |
| 位置 | 12, 27 |
|
| 尺寸 | 120, 94 |
|
| 文本框 | 名称 | txtName |
| 位置 | 138, 26 |
|
| 尺寸 | 100, 23 |
|
| 按钮 | 名称 | btnAdd |
| 位置 | 138, 55 |
|
| 尺寸 | 100, 23 |
|
| 文本 | Add Name |
|
| 表格 | 文本 | Names |
| 尺寸 | 268, 180 |
处理事件
在窗体上布局所有控件后,添加事件处理程序以响应用户输入。 转到表单设计器并执行以下步骤:
选择窗体上的 “添加名称 ”按钮控件。
在 “属性” 窗口中,选择事件图标
以列出按钮的事件。找到 Click 事件并双击它以生成事件处理程序。
此操作将以下代码添加到表单中:
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 键或从菜单中选择 “调试>开始调试 ”来运行应用。 应用启动时,将显示窗体。 在文本框中输入一个名称,然后选择该按钮。