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